2017-06-02 224 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

相关问题