从弹出窗口打开chrome选项

Open chrome options from popup

本文关键字:chrome 选项 窗口      更新时间:2023-09-26

当我运行代码时,它会显示"about blank"而不是我的扩展选项。我希望它打开扩展前面的选项。这是我的一些扩展代码-

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>

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

如果可能的话,打开扩展的选项页面。精确的行为可能取决于清单的options_ui或options_page键,或者Chrome当时恰好支持。例如,页面可能是在新选项卡中打开,位于chrome://extensions,在应用程序中,或可能只关注打开的选项页面。它永远不会引起来电者页面以重新加载。如果Extension没有声明选项页,或者Chrome由于其他原因未能创建一个,回调将设置lastError。

https://developer.chrome.com/extensions/runtime#method-打开选项页面

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