我在html页面中有一个iframe,它有一个从服务器加载一些HTMl的iframe。我能够拦截http调用并能够服务于本地HTML文件(即下面方法中的exampleString)。虽然HTMl在iframe中正确呈现,但点击按钮的内联javascript没有执行。有什么我做错了吗? 我已经有下面的设置,并且setJavaScripEnabled为true。 webView.setWebChromeClient(new WebChromeClient())
webView.setWebChromeClient(new WebChromeClient(){
@Override
public boolean onJsAlert(WebView view, String url, String message, JsResult result)
{
if (dismissDialogFlag == true) {
dismissDialogFlag = false;
result.confirm();
return true;
} else {
return false;
}
}
public WebResourceResponse shouldInterceptRequest(WebView view,String url){
if (url.equalsIgnoreCase("https://test.contoso.com:444//WebResources/new_test123")) {
WebResourceResponse wr1 = createHTMLResponse();
return wr1;
}
}
public WebResourceResponse createHTMLResponse(){
String exampleString = "<html><head><script type=\"text/javascript\" >function clickMe(){alert('!NO!');} </script></head><body>k123456 <button type=\"button\" onclick=\"clickMe()\">Click Me!</button></body></html>";
InputStream stream = new ByteArrayInputStream(exampleString.getBytes());
return new WebResourceResponse("text/html", "UTF-8", stream);
}