从弹出窗口打开chrome选项

Mel*_*kor 3 html javascript google-chrome-extension

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

popup.js:

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

popup.html:

<li>
    <a href="#"><div id="div_options">Options</div></a>
</li>
Run Code Online (Sandbox Code Playgroud)

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/*"
    ]
}
Run Code Online (Sandbox Code Playgroud)

options.html:

<html>
    <stuff>
</html>
Run Code Online (Sandbox Code Playgroud)

Dan*_*err 6

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

如果可能,请打开Extension的选项页面.准确的行为可能取决于您的清单的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)