Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.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
用于单击带有特定文本的链接的Javascript Bookmarklet_Javascript_Text_Bookmarklet - Fatal编程技术网

用于单击带有特定文本的链接的Javascript Bookmarklet

用于单击带有特定文本的链接的Javascript Bookmarklet,javascript,text,bookmarklet,Javascript,Text,Bookmarklet,一个页面中有很多链接,我需要快速点击其中包含文本“删除”的链接。 这会导致AJAX请求,因此需要稍微暂停。 什么是javascript bookmarklet代码(没有库,例如jQuery),它将快速调用作为属性直接绑定到链接的onclick()事件,但只调用带有文本“Delete”的事件 就我自己的能力而言,我得到: javascript: (function(){ var links = document.getElementsByTag('a'); for(var i = 0; i

一个页面中有很多链接,我需要快速点击其中包含文本“删除”的链接。 这会导致AJAX请求,因此需要稍微暂停。 什么是javascript bookmarklet代码(没有库,例如jQuery),它将快速调用作为属性直接绑定到链接的onclick()事件,但只调用带有文本“Delete”的事件

就我自己的能力而言,我得到:

javascript:
(function(){
  var links = document.getElementsByTag('a');
  for(var i = 0; i <= links.length; i++){
    if(links[i].innerHTML == "Delete"){
     setTimeout("links[i].onclick()", 500); // pause for previous AJAX to proceed
    }
  }
})();
javascript:
(功能(){
var links=document.getElementsByTag('a');

for(var i=0;i
onclick
通常不能这样使用-有时事件不会直接绑定到对象。此解决方案模拟单击。相反,您必须使用,我通过搜索找到它

所以这里有一些应该有效的方法:

(function(){
  // First we create the event
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

  var links = document.getElementsByTag('a');
  for(var i = 0; i <= links.length; i++){
    if(links[i].innerHTML == "Delete"){

      // And here, we trigger the event
      setTimeout("links[i].dispatchEvent(evt)", 500); // pause for previous AJAX to proceed

    }
  }
})();
(函数(){
//首先,我们创建事件
var evt=document.createEvent(“MouseEvents”);
initMouseEvent(“单击”,true,true,window,0,0,0,0,false,false,false,false,false,false,0,null);
var links=document.getElementsByTag('a');

for(var i=0;i
onclick
通常不能这样使用-有时事件不会直接绑定到对象。此解决方案模拟单击。相反,您必须使用,我通过搜索找到它

所以这里有一些应该有效的方法:

(function(){
  // First we create the event
  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

  var links = document.getElementsByTag('a');
  for(var i = 0; i <= links.length; i++){
    if(links[i].innerHTML == "Delete"){

      // And here, we trigger the event
      setTimeout("links[i].dispatchEvent(evt)", 500); // pause for previous AJAX to proceed

    }
  }
})();
(函数(){
//首先,我们创建事件
var evt=document.createEvent(“MouseEvents”);
initMouseEvent(“单击”,true,true,window,0,0,0,0,false,false,false,false,false,false,0,null);
var links=document.getElementsByTag('a');
对于(var i=0;i尝试以下方法:

javascript:j=0;l=document.links;for(var i=0;i<l.length;i++){if(l[i].innerHTML.toLowerCase().indexOf("delete")!=-1){setTimeout("l["+i+"].onclick();",j*500+1);j++;}}
javascript:j=0;l=document.links;for(var i=0;i试试这个:

javascript:j=0;l=document.links;for(var i=0;i<l.length;i++){if(l[i].innerHTML.toLowerCase().indexOf("delete")!=-1){setTimeout("l["+i+"].onclick();",j*500+1);j++;}}

javascript:j=0;l=document.links;for(var i=0;我很抱歉这么说,但听起来有点粗略。什么浏览器?如果它只是一个浏览器(比如Chrome),那么它的任务与支持所有浏览器完全不同。Henrik,我更新了这个问题,使它尽可能直观。任何浏览器(Chrome、Firefox、Opera、Safari)。我需要这些代码来摆脱点击近4000个链接的常规任务。很抱歉,这听起来有点粗略。什么浏览器?如果只有一个浏览器(如Chrome),这与支持所有浏览器是完全不同的任务。Henrik,我更新了问题,使其尽可能直观。任何浏览器都可以(Chrome、Firefox、Opera、Safari)。我需要这些代码来将自己从点击近4000个链接的日常任务中解放出来。