0
我在做一个扩展程序,但我无法理解如何执行以下操作 - 根据特定的文本,我的扩展程序当前打开了X个标签页。现在我想让它在打开的每个新选项卡中运行特定的脚本。Chrome扩展程序在X个下一个标签页上运行Javascript
manifest.json的:
{
"name": "Asaf Feedback Opener",
"version": "1",
"manifest_version" : 2,
"description": "Opens any View Item on the current page",
"background" : {
"scripts" : ["background.js"]
},
"browser_action": {
"default_icon": "icon.png"
},
"permissions": ["activeTab", "tabs"]
}
现在它运行在点击当前页面下面的代码:
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.executeScript(null, {file: "testScript.js"});
});
的Javascript:现在
var links = document.getElementsByTagName("a");
numofview = 0;
for (i = 0; i < links.length; i++)
{
if (links[i].innerHTML.startsWith("View Item"))
{
numofview = numofview+1;
window.open(links[i].getAttribute("href"), "_blank");
}
}
,在上面的JS它在新标签中打开链接。我想下一个代码在每个选项卡,以前的代码已经开通运行:
var soldlinks = document.getElementsByTagName("a");
for (i = 0; i < soldlinks.length; i++)
{
if (soldlinks[i].innerHTML.endsWith("sold"))
{
var soldlength = soldlinks[i].innerHTML.length
var amount = soldlinks[i].innerHTML.substring(0,soldlength-5);
if (Number(amount) >= 5)
window.open(soldlinks[i].getAttribute("href"), "_self");
else
window.close()
}
}
我居然不知道JS或Chrome扩展编码语言可言,我一直在与谷歌的即兴得到这个远。
这两个脚本都是分开工作的,我不知道如何从这里前进。
首先,非常感谢。至于collect-sold-items.js,我希望它能够获得href标题的长度,并且由于它始终在变化(1个已售出,17个已售出,631个已售出),我希望它能够获得它的长度,最后5个字母(“出售”+之前的空间),并且当数字大于5时例如只是执行。 –
这就是'parseInt'所做的:它从文本中提取第一个数字,不需要字符串操作。 – wOxxOm
刚刚检查。它像一个魅力!非常感谢你! 最后一个问题 - 我希望它只打开同一个URL的1个实例,所以我不会重复。我想到一个循环将其存储在一个if语句的数组中(如果它不匹配任何其他数组) –