将JS代码注入WebView的问题

时间:2014-01-18 20:27:20

标签: java javascript android webview

我正在使用android的WebView,我有这段代码将背景变为橙色。

@Override
                public void onPageFinished(WebView view, String url) {
                    wv.loadUrl("javascript:(function() { " +  
                            document.body.style.background = 'orange'; 
                    "})()");
                }

当我想要加载的页面时,背景为橙色。

但是当我试图隐藏我正在查看的页面上的按钮时。

@Override
                public void onPageFinished(WebView view, String url) {
                    wv.loadUrl("javascript:(function() { " +  
                    "var input = document.getElementById('submit');" +
                    "input.style.display= 'none';" +  
                    "})()");
                }

它不起作用。

谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为问题是当页面完成从网络加载时调用onPageFinished,而不一定是在DOM准备好的同时。你在logcat中看到任何JavaScript错误吗?

如果在onload事件监听器中注册JS函数,可能会有更多的运气。