Home > Web Front-end > JS Tutorial > body text

JavaScript automatically clicks on links to prevent bypassing browser access

高洛峰
Release: 2017-01-21 11:12:19
Original
2063 people have browsed it

To log in to an Alipay account, you need to have an effect, that is, when you open the link page, you do not need to click the link and jump directly to the Alipay login page. In other words, you need to create an effect that automatically clicks on the link.

Basically use this:

<body onLoad="autoclick(&#39;auto&#39;)">
 
<a id=&#39;auto&#39; href=".$url."><img border=&#39;0&#39; src=&#39;images/alipaylog.gif&#39; /></a>
 
</body>
 
<script type="text/javascript">
 
 
 function autoclick(){
 
 lnk = document.getElementById("auto");
 
 lnk.click();
 
  }
 
</script>
Copy after login

This can be used under IE, but not other browsers. It’s still overwhelming, wasting everyone’s time searching.

The following one is relatively reliable, let’s take a look first:

<body onLoad="autoclick(&#39;auto&#39;)">
 
<a id=&#39;auto&#39; href=".$url."><img border=&#39;0&#39; src=&#39;images/alipaylog.gif&#39; /></a>
 
</body>
 
<script type="text/javascript">  1:
 
function autoclick(name)
 
{ 
 
  if(document.all) 
 
  { 
 
    //alert(1);
 
     document.getElementById(name).click(); 
 
  } 
 
   else 
 
  { 
 
    var evt = document.createEvent("MouseEvents"); 
 
      evt.initEvent("click", true, true); 
 
    //alert(2);
 
    document.getElementById(name).dispatchEvent(evt); 
 
   } 
 
}
 
</script>
Copy after login

This works fine under Chrome and IE, but it works fine under Firefox Can't do it anymore. But it's better than the first one.

dispatchEvent is problematic under Firefox. Here is the solution:

document.getElementById("me").onclick = function() {
 
  var card = document.getElementById("card");
 
   if(document.createEvent){
 
    var ev = document.createEvent(&#39;HTMLEvents&#39;);
 
    ev.initEvent(&#39;click&#39;, false, true);
 
    card.dispatchEvent(ev);
 
   }
 
   else
 
     card.click();
 }
Copy after login

The card element is the element with the event bound to it. The me element is the element that wants to call the card's click event by clicking on the me element. . . .

The focus of the problem is that firefox's js engine needs to create an event first: var ev = document.createEvent('HTMLEvents');

Then specify the event as a click event: ev.initEvent( 'click', false, true);

Finally pay the event to the card element: card.dispatchEvent(ev);

card = document.getElementById('id');

var ev = document.createEvent('HTMLEvents');

ev.initEvent('click', false, true);

card.dispatchEvent(ev);

It can be seen that dispatchEvent is the last step in event delegation. It links the delegated event with the calling element to achieve the effect of calling the event of this element.

Finally, it is recommended to use input to achieve it. The following is the final solution:

<body onLoad="autoclick(&#39;auto2&#39;)">
 
 <input id="auto2" type="hidden" onClick="javascript:location.href = &#39;<?=$url?>&#39; " />
 
</body>
 
<script type="text/javascript">  1:
 
function autoclick(name)
 
 { 
 
  if(document.all) 
 
  { 
 
    //alert(1);
 
     document.getElementById(name).click(); 
 
  } 
 
   else 
 
  { 
 
   var evt = document.createEvent("MouseEvents"); 
 
     evt.initEvent("click", true, true); 
 
    //alert(2);
 
    document.getElementById(name).dispatchEvent(evt); 
 
   } 
}
</script>
Copy after login

The above JavaScript automatically clicks on the link to prevent bypassing the browser The access method is all the content shared by the editor. I hope it can give you a reference, and I also hope that everyone will support the PHP Chinese website.

For more JavaScript automatic click links and methods to prevent bypassing browser access, please pay attention to the PHP Chinese website for related articles!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template