我今天开始编写自己的Chrome扩展程序,并且因为一个问题而陷入困境。 现在,我将当前的URL从打开的网站发送到我的服务器,在那里根据一些标准进行检查,然后将返回值发回给扩展。这工作到目前为止。我只使用popup.html,没有背景页面。 该请求仅在用户单击浏览器中的图标时发送。 如何在页面加载时自动发送请求?在页面顶部注入DIV标签并在页面加载时自动启动脚本?
如果服务器有特定的返回值,应该给用户一个unannoying警告。警报框和新窗口很好......很烦人。最好的方式应该是扩展名图标下的小弹出窗口,但如果没有用户的点击,这是不可能的。所以我想到了页面顶部的一个小图层。
<html>
<head>
<script>
window.addEventListener("load", sendRequest, false);
function sendRequest() {
var q = "test";
xmlHttp=new XMLHttpRequest();
xmlHttp.open('GET', 'http://www.testurl.com/check.php?q='+q, true);
xmlHttp.onreadystatechange = function() {
if (xmlHttp.readyState == 4) {
document.getElementById("textf").innerText = xmlHttp.responseText;
chrome.tabs.executeScript(null,{code:"<div style='position: absolute; top: 0; left: 0; background-color=blue;layer-background-color: blue;'><p>test </p><p>test2 </p></div>"});
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
//Just for the popup...
<font color="blue"><p id="textf">Checking...</p></font>
</body>
</html>
如果我做
chrome.tabs.executeScript(null,{code:"alert('testalert')"});
它给我的警告。然而,这是行不通的,我不知道为什么:(
我是否需要一个背景页面的所有这些,因为我只想检查页面加载时的URL? 为什么东西没有工作,但该警报是什么?
预先感谢您!
谢谢你的回答。我使用了这里不允许的HTML标签(不知道这一点)...因此,例如在“-layer”之前缺少“div”。 –