我试图点击带有<的元素a>使用jquery标记。它适用于Chrome控制台,但它不适用于扩展程序。我做错了什么?
这就是我尝试点击'
<a href="" id="roblox-confirm-btn" class="btn-large btn-negative">Yes<span class="btn-text">Yes</span></a>
这是我在控制台中使用的,它运行良好:
var thing = $("a#roblox-confirm-btn")
thing.click()
这是我在chrome background.js中使用的,它不起作用:
setTimeout(function() {
//NOTE: 'click?' IS being printed into the console, and I'm getting no error
console.log("click?")
var thing = $("a#roblox-confirm-btn")
thing.click()
}, 2000)
答案 0 :(得分:0)
HTML及其事件位于页面或内容的上下文中,因此您需要在内容脚本中包含相同的内容并将其作为DOM的一部分注入,然后执行它。另外,我假设您已经使用jQuery脚本($)。
您可以尝试此修复:
第1步:在content_script.js中定义该代码
setTimeout(function() {
console.log("click?")
$("a#roblox-confirm-btn").click();
}, 2000);
第2步:在manifest.json中声明
{
...
"content_scripts": [{
"js": ["js/jquery.js", "js/content_script.js"]
}]
}
希望它有所帮助。