从弹出窗口打开chrome选项

时间:2016-04-16 19:40:52

标签: javascript html google-chrome-extension

当我运行我的代码时,它会出现"关于空白"而不是我的扩展选项。我希望它能在扩展名前面打开选项。这是我的一些扩展代码 -

popup.js:

document.getElementById('div_options').onclick = openOps;
function openOps() {
       window.open("chrome://extensions/?options=pgapbgeppkbeghldobmjehpbdleapdip");
       closeAndReloadPopup();
    };

popup.html:

<li>
    <a href="#"><div id="div_options">Options</div></a>
</li>

的manifest.json:

{   
"background": {
        "page": "background.html"
    },
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"page_action": {
          "default_icon": {
            "19": "images/icon19.png",
            "38": "images/icon38.png"
          },
          "default_title": "Scratch theme loader",
          "default_popup": "popup.html"
        },
"options_ui": {
            "page": "options.html",
            "chrome_style": true
        },
"web_accessible_resources": ["src/options/options.html"],
    "permissions": [
        "tabs",
        "storage",
        "declarativeContent",
        "https://scratch.mit.edu/*",
        "https://pastebin.com/raw/*"
    ]
}

options.html:

<html>
    <stuff>
</html>

1 个答案:

答案 0 :(得分:6)

使用推荐的方式:chrome.runtime.openOptionsPage(callback)

  

如果可能,请打开扩展程序的选项页面。精确的行为   可能取决于您的清单的options_ui或options_page键,或什么   Chrome当时恰好支持。例如,页面可能是   在新标签中打开,在Chrome://扩展程序中,在应用程序内或其中   可能只关注一个打开的选项页面。它永远不会导致调用者   页面重新加载。如果您的扩展程序未声明选项页面,或   由于其他原因,Chrome无法创建一个,回调将会   设置lastError。

https://developer.chrome.com/extensions/runtime#method-openOptionsPage

或者,chrome.tabs.create({ url: "chrome://extensions/?options=" + chrome.runtime.id }, callback)chrome.tabs.create({ url: "options.html" }, callback)