我正在编写一个chrome扩展,需要在每次加载某些网页时运行.
目前,当我第一次加载页面时,脚本运行.但是,如果我然后转到另一个页面并单击"返回"以使其返回到原始页面,则脚本不会运行.如果我然后刷新页面它会运行脚本.
我怀疑这与chrome没有运行扩展有关,如果它正在加载页面的缓存版本?(可能是完全垃圾).
目前,清单文件说"run_at""document_end".
任何人都有任何线索,即使我通过导航"返回"打开页面,我怎么能让它运行脚本?
我正在尝试为Chrome编写扩展程序.
我现在要做的是创建一个HTML表单,上面有一个按钮,按下时会显示一个消息框.
我的项目包含一个HTML文件和一个JavaScript文件.
<html>
<head>
<style>
body {
width:100px;
font-family: sans-serif;
font-size: 0.8em;
}
</style>
<script src="popup.js"></script>
</head>
<body>
<input id="buttonid" type="button" value="try it"></input>
</body>
chrome.tabs.onCreated.addListener(onCreated());
function myFunction()
{
alert("Hello World!");
}
function onCreated()
{
var fld = document.getElementById("buttonid");
if(fld==null)
{
alert("null");
}
else
{
alert("not null");
}
}
Run Code Online (Sandbox Code Playgroud)
所以我的理解是,当呈现HTML时,它运行我的onCreated()函数.然后,这将查找ID ="buttonid"的元素.但它总是返回null,所以出现一个消息框说"null".
有谁能解释一下?这似乎毫无意义.我尝试在IE中运行稍微改编的版本,但结果相同.
为了清楚起见,我知道这不会满足我上面的描述,但我试图在将事件附加到它之前从JavaScript访问该按钮.