我需要重定向到URL,然后在该URL执行javascript代码。
下面的popup.js文件包含一个onclick函数,当我单击扩展程序的popup.html中的HTML按钮时会调用该函数。 然后,它使用2条消息查询content.js脚本。 第一条消息(todo =“一个”)已正确处理,发生了重定向,但是警报显示了重定向之前我所在页面的URL。 显然,我需要先使其完全加载页面,然后发出警报。 那么我该如何实现呢? (我想到了消息之间类似“ Sleep(ms)”函数的调用,但这似乎是一个la脚的解决方案)。 我还认为,除了Google扩展之外,回答如何在javascript中做到这一点也可以解决我的问题。 提前致谢!
popup.js
$('#run').click(function () {
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {todo: "one"});
chrome.tabs.sendMessage(tabs[0].id, {todo: "two"});
});
});
content.js
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.todo === "one")
{
window.location.href = "https://yahoo.com";
}
else if (request.todo === "two")
{
alert(window.location.href);
}
});