我正在尝试将页面加载到 webview 中。通常,当我打电话时
webview.loadUrl(url);
效果很好。该 url 包含重定向页面的 JavaScript 代码。这是 jacascript 代码:
<script type="text/javascript">
if (!document.cookie || document.cookie.indexOf('AVPDCAP=') == -1)
{ document.write('<scr'+'ipt src="http://some_link_here+Math.floor(89999999*Math.random()+10000000)+'&millis='+new Date().getTime()+'&referrer='+encodeURIComponent(document.location)+'" type="text/javascript"></scr'+'ipt>'); }
</script>
当我尝试将 javascript 代码加载到我的 web View 中时,如下所示:
String data = javascript_code_above;
topBannerWV.loadDataWithBaseURL("", data, "text/html", "UTF-8", null);
其中 data 是这段 JavaScript 代码,它不会加载页面。我还尝试了以下方法:
topBannerWV.loadDataWithBaseURL("", data, "text/javascript", "UTF-8", null);
但这一次文本被加载到 webview 中。谁能帮我解决这个问题吗?
谢谢。
最佳答案
我正在做这样的事情,它工作得很好:
webView.loadUrl("file:///android_asset/html.html");
webView.setWebViewClient(new WebViewClient() {
public void onPageFinished(WebView view, String url) {
try {
webView.loadUrl("javascript:init('" + some parameter + "')");
} catch (JSONException e) {
e.printStackTrace();
}
}
});
html 文件中的脚本是:
<script type="text/javascript">
function init(val){
document.getElementById('content').innerHTML=val;
}
window.addEventListener('load',function(){
console.log("Window Loader");
init();
});
</script>
关于javascript - 如何将 javascript 重定向加载到 android webview 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30660421/