我在webview 中处理web页面的弹出子页面(js为window.open)时,设置webview为允许多窗口,然后在重写onCreateWindow方法中,大致代码如下
newWebView = new WebView(parentView.getContext());
。。。
parentView.addView(newWebView);
。。。。
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(newWebView);
resultMsg.sendToTarget();
return true;
遇到的问题是,有的子页面能正常打开,有的子页面可能是页面内容较短的缘故,没有全部盖住父页面,造成父页面和弹出的子页面重叠显示,请教如何解决?
通过js方法,在执行window.open之前加上 document.body.scrollTop = 0 解决,即先把页面滚动到最上面,然后打开子页面。问题出现原因是 当webview中的页面比屏幕长,滚动到页面下方时如果执行window.open就会出现上述问题。
http://bbs.csdn.net/topics/290028575 看看这个把,他下面的回复都是比较有用的,我做的弹窗比较大能全部遮住,这种方法兼容性不太好
我指的是在android中的webview喔,app的内嵌浏览器组件。