为什么我的Javascript Chrome扩展代码不工作?(循环检查按钮)
Why is my Javascript Chrome extension code not working? (Loop check for button)
我正在尝试使一个chrome扩展,不断检查与ID "product-addtocart-button"按钮,并一旦发现它会点击。
我通过在线学习和研究来学习这个javascript。我对javascript了解不多,所以我真的不知道哪里出了问题。
我的旧javascript文件是非常裸露的,我有它的设置,所以当我点击扩展按钮,按钮会自动点击。
代码:chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id,{
code: "document.getElementById('product-addtocart-button').click();"
});
});
现在,从研究中,我已经(试图)添加了一个功能,在单击扩展按钮后,脚本将循环检查实际扩展,然后一旦找到,单击它。
background.js:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(tab.id,{
function waitForElementToDisplay(#product-addtocart-button, 10) {
if(document.querySelector(#product-addtocart-button)!=null) {
alert("document.getElementById('product-addtocart-button').click()")
return;
}
else {
setTimeout(function() {
waitForElementToDisplay(#product-addtocart-button, 10);
}, 10);
}
}
});
});
当我点击chrome扩展按钮什么都没有发生。知道是怎么回事吗?
根据规范,您必须像这样调用executeScript:
chrome.tabs.executeScript(tab.id,{code:"yourCodePackedIntoOneString"});
或
chrome.tabs.executeScript(tab.id,{file:"yourCodeFile.js"});
但是你正在打电话:
chrome.tabs.executeScript(tab.id,{function()etc...});
.
试一下,看看效果如何
如果你想触发特定页面的点击,使用内容脚本文件而不是background.js。
"content_scripts": [
{
"matches": ["http://www.google.com/*"],
"css": ["mystyles.css"],
"js": ["jquery.js", "myscript.js"]
}
],
如果你想使用JQuery,请下载到你的本地文件夹。
if($('#product-addtocart-button').length>0)
$('#product-addtocart-button').click()
相关文章:
- 循环以检查数组中的最后一个图像
- 用于循环的 Javascript 来检查间隔重叠
- 正则表达式检查循环中的 [A-Z] 范围
- 循环遍历单选按钮(20 组,每组 3 个),并检查是否选中了每个组
- jQuery循环遍历每个li并检查一个类
- Javascript性能:如何在数组中循环并检查每个值比indexOf、search和match更快
- 我的单选按钮没有从foreach循环中获得值,表单验证返回'必填字段'即使已检查
- js-循环遍历数据库中的切片字符串和检查项
- jquery 每个循环检查是否至少填写了一个字段
- 循环检查选中的复选框,然后显示结果
- JS/JQuery循环检查框并按名称调用函数
- While循环检查多个变量是否相等
- 使用for循环检查两个或多个表单值的JavaScript验证不相同
- Do循环检查数组.每次将I与array.length进行比较时
- 为什么我的Javascript Chrome扩展代码不工作?(循环检查按钮)
- 如何在Javascript中循环检查文档中的字符串
- 在javascript中循环检查复选框
- 无限循环检查崩溃- Jquery
- 使用javascript循环检查复选框
- 同时循环检查字符串中的大写字母