Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
单击一个带有长url的按钮,使用javascript bookmarklet命名_Javascript_Bookmarklet - Fatal编程技术网

单击一个带有长url的按钮,使用javascript bookmarklet命名

单击一个带有长url的按钮,使用javascript bookmarklet命名,javascript,bookmarklet,Javascript,Bookmarklet,我需要一个javascript,可以点击一个按钮。问题是,页面上有100多个按钮都具有相同的值。名称是唯一的,但相当长。 元素的全名类似于: actions[http://apps.facebook.com/frontierville/giftaccept.php?next=giftaccept.php&senderId=1%3A1325206719&gh=3a8bfdace76051752a9127d1f9b43872&gift=nails&am

我需要一个javascript,可以点击一个按钮。问题是,页面上有100多个按钮都具有相同的值。名称是唯一的,但相当长。 元素的全名类似于:

actions[http://apps.facebook.com/frontierville/giftaccept.php?next=giftaccept.php&senderId=1%3A1325206719&gh=3a8bfdace76051752a9127d1f9b43872&gift=nails&timestamp=1285598414&ref=tab&key=29b15e06ed9d7c00a8870c955ab938cf%24%24cfH1PUUZ%217bZYhg8M-o-XQc%218HHRMcvvyhuf4d%21.64qEvlQe&src=request&aff=gift&crt=nails&signature=6dd3fa03fe88f98b6dcab4faf4c7da94]
每个按钮的值都是“接受并播放”

所以。有没有办法让它点击名称中带有特定URL的按钮

我试过这个:

javascript:(function(){var b=document.getElementsByName('actions[http://apps.facebook.com/frontierville/giftaccept.php?next=giftaccept.php&amp;senderId=1%3A1325206719&amp;gh=3a8bfdace76051752a9127d1f9b43872&amp;gift=nails&amp;timestamp=1285598414&amp;ref=tab&amp;key=29b15e06ed9d7c00a8870c955ab938cf%24%24cfH1PUUZ%217bZYhg8M-o-XQc%218HHRMcvvyhuf4d%21.64qEvlQe&amp;src=request&amp;aff=gift&amp;crt=nails&amp;signature=6dd3fa03fe88f98b6dcab4faf4c7da94]');for(var j=0;j<b.length;j++){if(b[j].value.match(/^Accept and Play/i)){b[j].click();break;}}})()
但它没有起作用。有什么建议吗

编辑: 如果有帮助,以下是其中一个按钮的信息来源:

<input value="Accept and Play" type="submit" name="actions[http://apps.facebook.com/onthefarm/giftaccept.php?senderId=1259413693&amp;gift=mysterygift&amp;timestamp=1285599906&amp;ref=gift_accept_tab&amp;key=78fcc7de3b36b8f9564262fab506893f%24%24ceK5RVRY61bZYhg8M-o-XQcyL%2CzHccEwEeuj4e-%21-dh0AD0A2AgyScd&amp;signature=32db959ce43f8330cf8fd992fbd53a51&amp;srcapp=FarmVille]">

你的剧本适合我

您确定在脚本中使用了确切的名称吗

页面中是否有其他共享相同名称的元素?
如果是:您最好也检查这些元素的类型。如果它们不是可单击元素,例如隐藏输入或文本输入,这将导致异常,因此您的循环将停止

如果名称是唯一的,并且每个按钮的值都相同,为什么循环需要它?我只是从另一个正在工作的JS复制。我也这样尝试过:javascript:function{var b;b=document.getElemenstByName'actions[;ifb.length>0{b[0]。click;}即使没有for循环,这也不起作用。可能主要问题是HTMLButtoneElement DOM节点上没有单击功能。IE支持单击功能,但不支持Firefox。我不知道Webkit浏览器。我正在使用通过COM脚本嵌入autohotkey GUI的IE,但我已经多次使用了单击功能这样。只是从其中一个按钮的源代码添加了代码,看看这是否有助于找到解决方案。是的,应该没有其他元素具有完全相同的名称。据我所知,它是可点击的。它们没有隐藏或输入或任何东西。当手动执行此操作时,我必须单击它们以提交。是否检查了b.length是否为greater大于零?我对javascript不太在行。我主要使用其他人的东西并编辑它。我试图学习如何做事情的概念,但进展缓慢。我不确定这样做是否合适,如果不合适,请删除,但如果有人能上AIM并帮我做这件事,我可以给他们5美元的paypal,如果我们能做到的话它起作用了。我的目标是限制66。谢谢!