javascript - 如何从 chrome 扩展 popup.html 中重新加载当前选项卡?

标签 javascript jquery html google-chrome-extension page-refresh

我正在尝试单击一个按钮以从 chrome 扩展程序中刷新当前页面。

(注意:原因是因为我加载了一个脚本并且我需要刷新页面,因为目前我只有一个免责声明“你需要刷新页面才能工作”,但我想删除这个免责声明和让它自动完成)。

我想不通。这是我尝试刷新页面的代码。如果您知道消除此代码的方法并且只使用 onclick 也很好,但我尝试了 onclick="location.reload();" 但它不起作用,因为它不是t 获取实际的选项卡,而只是获取弹出页面。

background.html

chrome.browserAction.onClicked.addListener(function (activeTab) {
    var newURL = toggleDevMode(activeTab.url);
    chrome.tabs.update({
        url: refresh
    });
});

refresh.js

document.getElementById("mydivtoclicky").onclick = function() {
    chrome.tabs.getSelected(null, function(tab) {
        tabId = tab.id;

        // send a request to the background page to store a new tabId
        chrome.runtime.sendMessage({type:"new tabid", tabid:tabId});
    });
};

chrome.runtime.sendMessage({type:"refresh"});

popup.html

<head>
    <script type="text/javascript" src="../refresh.js"></script>
</head>
<body>
    <div id="mydivtoclicky">REFRESH PAGE</div>
</body>

请帮忙谢谢

最佳答案

假设您想从扩展后台运行时刷新用户在当前 Chrome 窗口中使用的选项卡,您可以在 background.html/background.js 中使用以下示例。

chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
  chrome.tabs.reload(tabs[0].id);
});

更多关于 chrome.tabs.reload .

关于javascript - 如何从 chrome 扩展 popup.html 中重新加载当前选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570100/

相关文章:

javascript - 使用jquery仅在前三个div中添加一个div

javascript - 使用 AngularJS 时如何根据选项值而不是索引选择默认选择选项?

javascript - 在 IE 中使用 javascript css 转换旋转 png 图像

javascript - 如何解决NodeJS方法优先级问题

javascript - 无法使用命名空间和 javascript 解析 Xml

javascript - 降级的 Angular2 组件未在 Angular 1 内呈现

javascript - 属性值不通过对象字面量定义应用

Javascript/jQuery : How to increment a number and highlight text when selected

javascript - 将文本区域中的 Javascript 注入(inject)到 Iframe 中

javascript - 将 Svg 绘制到 Canvas ,包括嵌入在 svg 中的图像