从chrome app中的webview打开时,window opener为null

时间:2014-05-29 09:08:20

标签: javascript google-chrome webview google-chrome-app

这是我的问题:

我有一个chrome应用程序,使用webview显示外部内容。在该内容中,有一个使用window.open并打开新窗口的网页,这些窗口使用window.opener与页面进行通信。

但是,如果我使用window.open在webview中打开一个新窗口,则该窗口中的window.opener将设置为 null 。有没有办法让这项工作?

顺便说一句,我用这个钩子打开网页:

    webview.addEventListener('newwindow', function(e){
        e.preventDefault();
        window.open(e.targetUrl)
    })

1 个答案:

答案 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);
});