2017-06-02 228 views
1

我有一個「簡單」問題,我試了幾天解決,但沒有。我有一個用AES加密的HTML文件到我的資產文件夾中,我想要做的是在解密後將它加載到webview中。我不能使用負載URL,因爲使用loadURL()需要一個文件路徑,我的文件是加密的,所以我不能給它,因爲我以前Android從資產文件夾加載加密HTML + JS到webview

webView.loadUrl("file:///android_asset/encrypted.html"); 

所以以後我試着用

loadData(htmlJsString, "text/html", "UTF-8"); 
對其進行解密

其中htmlJsStringencrypted.html文件作爲解密的字符串,但這樣做唯一的HTML代碼,而JavaScript是不工作的工作(webView.setJavaScriptEnabled() ; )。

因此,我怎麼能從資產文件夾加載加密的HTML + JS到我的webView?

+0

請解釋**詳細**什麼「而JavaScript是不」的意思。這個JavaScript嵌入在HTML文件中嗎?另外請記住,您的加密可能毫無意義 - 如果您的AES密碼短語是硬編碼的,則對其進行反向工程將會很微不足道。 – CommonsWare

+0

JavaScript是不工作,並嵌入,至於AES的密碼它不是一個問題 – Ares91

回答

1

確保該標誌設置

WebSettings webSettings = webView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 
webSettings.setDomStorageEnabled(true); 
webSettings.setLoadWithOverviewMode(true); 
webSettings.setUseWideViewPort(true); 
webSettings.setBuiltInZoomControls(true); 
webSettings.setDisplayZoomControls(false); 
webSettings.setSupportZoom(true); 
webSettings.setDefaultTextEncodingName("utf-8"); 
+0

htmlJsString不是一個路徑,它是我讀取和解密的encrypted.html文件,它是我知道的文件 – Ares91

+0

的內容。閱讀[方法文檔](https://developer.android.com/reference/android/webkit/WebView.html#loadDataWithBaseURL),它應該工作: –

+0

我試過你的解決方案,JavaScript不工作 – Ares91

相關問題