如何在没有新标签的情况下打开popup.html?

时间:2016-05-14 22:54:24

标签: javascript google-chrome google-chrome-extension

我有一个扩展示例,弹出窗口作为新标签打开。

所以,现在我想在同一个Chrome激活标签中打开此弹出窗口,如下所示:

enter image description here

我已经尝试了几种方法,但直到现在都没有成功。

PS:我正在使用Google Chrome V.50

以下是在新标签页中打开弹出窗口的代码:

的manifest.json

{  
    "background": {
    "scripts": ["action.js"],
    "persistent": false
},

    "name": "W3C cheatsheet",
    "version": "0.1",
    "manifest_version": 2,
    "description": "Show the W3C cheatsheet on a popup",

    "icons": { "48": "favicon.png" },

    "browser_action": {

            "default_icon": "favicon.png"

    },
    "permissions": ["http://*/", "tabs"]
}

action.js

chrome.browserAction.onClicked.addListener(function(tab) {
    chrome.tabs.create({'url': chrome.extension.getURL('w3c.html'), 'selected': true});
});

popup.html (在这种情况下为 w3c.html

<html>
<head>
<script>
</script>
<style>* {margin: 0; padding: 0; border: 0;}</style>
</head>
<body>
<iframe src="https://www.w3.org/2009/cheatsheet/" width="450" height="500"></iframe>
</body>
</html>

2 个答案:

答案 0 :(得分:2)

<强> 解决:

manifest.json

"browser_action": {

"default_popup": "w3c.html"

},

答案 1 :(得分:1)

W3学校表示,要打开新窗口,您必须使用window.open("url here");

试试这段代码:

window.open({'url': chrome.extension.getURL('w3c.html'), 'selected': true});