我正在尝试将功能添加到我制作的Chrome扩展程序中。我想要做的是一旦导航到特定的页面,我希望能够在工具栏上按下一个按钮并让它“点击”该页面上的所有链接,包含harvest.game?user = 123456与123456是所有链接的不同数字。它可以使用jQuery或JavaScript。唯一的问题是脚本需要作为元素插入到页面的头部,因为不允许跨域脚本,因此没有外部引用到js文件。我可以处理元素的添加,但是,我没有计算出实际的功能。点击包含字符串的页面上的所有链接?
含有链接的所有元素看起来像这样:
<div class="friendWrap linkPanel">
<h5>Christine...</h5>
<div class="friend-icon">
<img src="https://graph.facebook.com/100001726475148/picture"></div>
<div class="levelBlock friend-info">
<p>level</p>
<h3 class="level">8</h3></div>
<a href="harvest.game?user=701240" class="btn">Harvest</a>
<a class="boxLink" href="profile.game?user_id=701240"><span></span></a></div>
像这样的东西(我知道这是一个烂摊子,不工作)?或者可能更好使用jQuery?
var rlr=1;
function harvestall(){var frt,rm,r,rld,tag,rl;
var frt=1000;
r=document.getElementsByClassName("friendWrap linkPanel");
rl=r.length;
rld=rl-rlr;
if(rld>=0){tag=r[rld].getElementsByTagName('a');
if (rl>=1 {rlr++;harvestall();}
else if (rl>=1) {tag[1].onclick();do something??? ;}
}
所以将其添加到页面的头部导致harvestLinks没有:-( 定义'FJ1 =使用document.createElement(“脚本“); FJ1.type =”text/javascript“; FJ1.appendChild(document.createTextNode(”$(function harvestLinks($){$(\“a [href * ='harvest.game?user='] ()“)。trigger(”click“);});”)); document.getElementsByTagName(“head”)[0] .appendChild(FJ1);' –
@ShcFinalJudgement摆脱$();围绕函数和参数$,那么它应该工作。 –
有关性能注意事项,请参阅以下内容:http://jsperf.com/jquery-complex-selector-vs-filter –