我正在尝试点击按钮以从Chrome扩展程序中刷新当前页面。
(注意:原因是我加载了一个脚本,我需要刷新页面,因为目前我只是有一个免责声明“你需要刷新页面才能使用”,但我想删除这个免责声明和只是自动完成。
我无法理解。这是我试图刷新页面的代码。如果您知道一种消除此代码的方法,并且只使用一个非常棒的onclick,但我尝试了onclick="location.reload();"
但它不起作用,因为它没有获取实际的选项卡而只是弹出页面。< / p>
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>
请帮助谢谢。
答案 0 :(得分:7)
要刷新页面,请使用标签页的<{3}}。
refresh.js:
document.getElementById("mydivtoclicky").onclick = function() {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.update(tabs[0].id, {url: tabs[0].url});
});
};
答案 1 :(得分:6)
假设您要从扩展程序后台运行时刷新用户在当前Chrome窗口中使用的选项卡,您可以在background.html / background.js中使用以下示例。
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.reload(tabs[0].id);
});
有关chrome.tabs.reload的更多信息。
答案 2 :(得分:5)
我的Chrome扩展程序使用chrome.tabs.reload()正确地重新加载活动标签,其中包含所有默认值。非常简单。弹出窗口本身保持打开状态。
在popup.js ...
function reloadMainTab() {
chrome.tabs.reload();
}
document.getElementById('reloadBtn').addEventListener('click', reloadMainTab);