你好我正在制作一个chrome插件,它使用ajax自动刷新页面中的元素,在这个元素里面有很多拇指向上/向下按钮(每个注释中有两个),问题是当我刷新元素时这些按钮不再起作用,我曾经通过在刷新元素之后再次附加所需的javascript文件然后使用jquery的click()来修复它来修复它,下面的代码与greasemonkey工作正常:
greasemonkey脚本
[.....rest of code mainly image swaps and basic stuff which works nicely.....]
[...element refreshed...]
//REMAP
$('<script type="text/javascript" src="http://url.com/pageScript.js"/>').appendTo($('head'));
//THUMBS UP
$(".ico-thumbs-up").click(function() {
unsafeWindow.voting(this, "up", 6);
return false;
});
//THUMBS DOWN
$(".ico-thumbs-down").click(function() {
unsafeWindow.voting(this, "down", 7);
return false;
});
unsafeWindow.checkVotedPosts();
[.....rest of code mainly image swaps and basic stuff which works nicely.....]
contentScript.js
[.....rest of code mainly image swaps and basic stuff which works nicely.....]
[...element refreshed...]
//REMAP
$('<script type="text/javascript" src="' + chrome.extension.getURL('inject/pageScript.js') + '"/>').appendTo($('head'));
//THUMBS UP
$(".ico-thumbs-up").click(function() {
voting(this, "up", 6);
return false;
});
//THUMBS DOWN
$(".ico-thumbs-down").click(function() {
voting(this, "down", 7);
return false;
});
checkVotedPosts();
[.....rest of code mainly image swaps and basic stuff which works nicely.....]
pageScript.js
*voting(); function*
*checkVotedPosts(); function*
的manifest.json
{
"matches": ["*://url.com/*"],
"run_at": "document_start",
"css": ["jquery/css/ui-lightness/jquery-ui-1.8.2.custom.css", "inject/css.css"],
"js": ["jquery/ajax_jquery_1.7.1.min.js", "contentScript.js"]
}
"web_accessible_resources": [
"inject/pageScript.js"
],
现在我使用的是基本相同的脚本,但在chrome扩展名unsafeWindow内部不再工作了,我搜索并在stackoverflow中发现了一些关于在页面中注入javascript的帖子,我尝试注入一个函数,它会调用在页面中投票()然后在我的脚本中调用那个函数但是没有真正成功。
(我还在等完DOMContentLoaded之前)
我是一般的编码新手,所以我很抱歉,如果它真的很简单,我就是在浪费你的时间。