这是我的问题:
我有一个chrome应用程序,使用webview显示外部内容。在该内容中,有一个使用window.open并打开新窗口的网页,这些窗口使用window.opener与页面进行通信。
但是,如果我使用window.open在webview中打开一个新窗口,则该窗口中的window.opener将设置为 null 。有没有办法让这项工作?
顺便说一句,我用这个钩子打开网页:
webview.addEventListener('newwindow', function(e){
e.preventDefault();
window.open(e.targetUrl)
})
答案 0 :(得分:2)
下次我应该阅读文档。您需要做的就是使用window.attach方法,如下所示:https://developer.chrome.com/apps/tags/webview
webview.addEventListener('newwindow', function(e) {
var newWebview = document.createElement('webview');
document.body.appendChild(newWebview);
e.window.attach(newWebview);
});