2012-03-18 4 views
13

मैं किसी सर्वर से एक HTML पृष्ठ लोड करने का प्रयास कर रहा हूं जिसमें पृष्ठ में एक स्क्रिप्ट है जो एंड्रॉइड sdcard .js फ़ाइल से लिंक है।एंड्रॉइड स्थानीय संसाधन लोड करने की अनुमति नहीं है: फ़ाइल: /// android_asset

जावा:

String url ="http://192.168.84.86:8080/test/maw/js_load_test.html"; 
this.loadUrl(url); 

js_load_test.html:

<script src="file:///sdcard/test.js"></script> 

मैं भी कोशिश की है:

<script src="file:///android_asset/www/js/test.js"></script> 

test.js फ़ाइल मौजूद है और जे एस फ़ाइल पथ सही है। लेकिन logcat में: फ़ाइल: ///sdcard/test.js:

03-18 13: 01: 12.467: ई/वेब कंसोल (26,189): फ़ाइल: स्थानीय संसाधन लोड करने के लिए अनुमति नहीं है: 0

फ़ाइल: पर ///sdcard/test.js ///android_asset/www/js/test.js:

03-18 13: 01: 53.467: ई/वेब कंसोल (2618 9): स्थानीय संसाधन लोड करने की अनुमति नहीं है: फ़ाइल: ///android_asset/www/js/test.js पर: 0

उत्तर

12

यह मदद मिल सकती है

https://groups.google.com/group/android-developers/browse_thread/thread/e20e87d2faf9ff41?pli=1#

webview.loadDataWithBaseURL("file:///android_asset/", html, "text/html", 
"utf-8", null); 
+0

धन्यवाद, लेकिन क्योंकि मुझे लगता है कि loadDataWithBaseURL LocalStorage के एचटीएमएल 5 सुविधा का समर्थन नहीं करता है मैं loadUrl() का उपयोग करना चाहते हैं,, शायद मैं कुछ और config की ज़रूरत है? – kim

0

इस प्रयास करें:

this.loadUrl("file:///android_asset/www/js/test.js"); 

लेकिन एक फ़ोल्डर नाम www-> js अपनी संपत्ति फ़ोल्डर में होना चाहिए।

+0

हाँ, यह test.js लोड करता है, लेकिन मैं केवल HTML फ़ाइल लोड करता हूं – kim

+0

आपकी संपत्ति फ़ाइल में या कुछ सर्वर पर आपकी HTML फ़ाइल है? – Dhruvisha

+0

रिमोट सर्वर – kim

1

यदि आपको "स्थानीय संसाधन लोड करने की अनुमति नहीं है: फ़ाइल: ///android_asset/index.html" त्रुटि शायद आपकी समस्या गलत स्थान पर संपत्ति फ़ोल्डर डाल रही है।

ग्रेडल प्रोजेक्ट के लिए जावा और रेस फ़ोल्डरों द्वारा src/main/निर्देशिका के अंतर्गत अपनी संपत्ति फ़ोल्डर को स्टोर करें। इस तरह:

परियोजना फ़ोल्डर - | PROJECT_NAME
- | निर्माण
- | src
--- | संपत्ति
--- | जनरल
--- | जावा
--- | रेस

रेस/निर्देशिका के अंतर्गत Maven परियोजना दुकान yout संपत्ति के लिए

1

इस में एक फ़ोल्डर बनाने ठीक करने के लिए "मुख्य" जिसे "android_asset" कहा जाता है और अंदर android_asset फ़ोल्डर "संपत्ति" नामक एक और फ़ोल्डर बनाते हैं और अपनी HTML फ़ाइल को संपत्तियों में रखते हैं और इस mWebView.loadUrl ("फ़ाइल: /// android_asset/your HTML FILE.html") का उपयोग करके कॉल करते हैं;

मुझे एक ही समस्या थी और भले ही मैं mWebView.loadUrl ("फ़ाइल: /// android_asset/assets/your HTML FILE.html") पर कॉल न करें; यह अभी भी कुछ काम करता है।जो मुझे अजीब लगता है क्योंकि वह जहां एचटीएमएल वास्तव में है!

तो फिर आपके फ़ोल्डरों को इस मुख्य/एंड्रॉइड_सेट्स/संपत्ति/आपके HTML.html की तरह दिखना चाहिए और mWebView.loadUrl ("फ़ाइल: /// android_asset/your HTML FILE.html") के साथ कॉल करना चाहिए;

बताता है कि मेरा सख्त दिखता है।

सार्वजनिक वर्ग MainActivity आपकी मदद के लिए फैली ActionBarActivity {

private WebView mWebView; 



@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mWebView = (WebView) findViewById(R.id.activity_main_webview); 
    // Enable Javascript 
    WebSettings webSettings = mWebView.getSettings(); 
    webSettings.setJavaScriptEnabled(true); 
    mWebView.loadUrl("file:///android_asset/index.html"); 

} 
संबंधित मुद्दे