如何从 chrome 扩展 popup.html 中重新加载当前选项卡?
How to reload current tab from within a chrome extension popup.html?
我正在尝试单击按钮以从 chrome 扩展程序中刷新当前页面。
(注意:原因是因为我加载了一个脚本并且我需要刷新页面,因为目前我只有一个免责声明"you need to refresh the page for it to work",但我想删除这个免责声明并让它自动完成).
我想不通。这是我尝试刷新页面的代码。如果您知道消除此代码的方法并且只使用 onclick 也很好,但我试过 onclick="location.reload();"
但它不起作用,因为它不是获取实际的选项卡,而是获取弹出页面。
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.tabs.update 和选项卡的 url。
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});
});
};
我的 Chrome 扩展使用所有默认值使用 chrome.tabs.reload() 正确地重新加载活动选项卡。很简单的。弹出窗口本身保持打开状态。
在popup.js...
function reloadMainTab() {
chrome.tabs.reload();
}
document.getElementById('reloadBtn').addEventListener('click', reloadMainTab);
假设您想从扩展程序后台运行时刷新用户在当前 Chrome window 中使用的选项卡,您可以在后台使用以下示例。html/background。 js.
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.reload(tabs[0].id);
});
更多关于 chrome.tabs.reload。
我正在尝试单击按钮以从 chrome 扩展程序中刷新当前页面。
(注意:原因是因为我加载了一个脚本并且我需要刷新页面,因为目前我只有一个免责声明"you need to refresh the page for it to work",但我想删除这个免责声明并让它自动完成).
我想不通。这是我尝试刷新页面的代码。如果您知道消除此代码的方法并且只使用 onclick 也很好,但我试过 onclick="location.reload();"
但它不起作用,因为它不是获取实际的选项卡,而是获取弹出页面。
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.tabs.update 和选项卡的 url。
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});
});
};
我的 Chrome 扩展使用所有默认值使用 chrome.tabs.reload() 正确地重新加载活动选项卡。很简单的。弹出窗口本身保持打开状态。
在popup.js...
function reloadMainTab() {
chrome.tabs.reload();
}
document.getElementById('reloadBtn').addEventListener('click', reloadMainTab);
假设您想从扩展程序后台运行时刷新用户在当前 Chrome window 中使用的选项卡,您可以在后台使用以下示例。html/background。 js.
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.reload(tabs[0].id);
});
更多关于 chrome.tabs.reload。