2010-11-03 83 views
1

我需要在弹出窗口中加载不同的文档。我使用的是这样的:如何在Chrome的扩展程序弹出窗口中加载新文档?

chrome.browserAction.setPopup({popup:"newpage.html"}); 

它的工作原理,但直到我再次点击该按钮,扩展新的页面不显示。 Opera有一个类似的API,但弹出式窗口内容实际上被替换,即使弹出窗口已经打开。

那么,如何在不点击扩展按钮的情况下使Chrome浏览器弹出加载新页面?

回答

2

您可以使用iframe或div并使用您想要的内容填充它。例如:

<!-- popup.html --> 
<!-- This doesn't change --> 
<html> 
<body> 
    <!-- But the content of this container does --> 
    <div id="content" style="display:none"></id> 

    <!-- By using a script like this: --> 
    <script> 
      document.getElementById("content").innerHTML 
       = "<iframe src=\"newpage.html\" />"; 
    </script> 
</body> 
</html> 
+0

谢谢,但我想我将无法与iframe的背景页面进行通信,对吗?我仍然需要从每个加载的页面发送消息到扩展背景。 – lovinglinux 2010-11-03 03:09:28

+0

在这种情况下,你可以使用XmlHttpRequest来完成它,但是你需要权限。 – 2010-11-03 03:35:24

+0

谢谢大家。我能够解决div问题,将某些内容移至通知,设置选项页面以在新选项卡上打开,并在后台进程和弹出窗口之间来回发送消息。 – lovinglinux 2010-11-03 07:07:10

相关问题