如何自动单击 AJAX 响应处理程序中自动生成的链接

How to auto click a link which is auto generated inside a AJAX response handler?

本文关键字:自动生成 链接 程序 处理 何自动 单击 AJAX 响应      更新时间:2023-09-26

>我之前读过这篇文章,我需要单击在 AJAX 响应处理程序中自动生成的链接。

代码是这样的,我用这个html自动启动手机应用程序。

<html>
<head>
<title>Click test</title>
</head>
<body>
<script>
function clickLink(link) {
    var cancelled = false;
    if (document.createEvent) {
        var event = document.createEvent("MouseEvents");
        event.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0,
            false, false, false, false,
            0, null);
        cancelled = !link.dispatchEvent(event);
    }
    else if (link.fireEvent) {
        cancelled = !link.fireEvent("onclick");
    }
    if (!cancelled) {
        window.location = link.href;
    }
}
function ajaxRequest(){
 var activexmodes=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
 if (window.ActiveXObject){
  for (var i=0; i<activexmodes.length; i++){
   try{
    return new ActiveXObject(activexmodes[i])
   }
   catch(e){
   }
  }
 }
 else if (window.XMLHttpRequest)
  return new XMLHttpRequest()
 else
  return false
}
var mypostrequest=new ajaxRequest()
mypostrequest.onreadystatechange=function(){
 if (mypostrequest.readyState==4){
  if (mypostrequest.status==200 || window.location.href.indexOf("http")==-1){
   gid=mypostrequest.responseText
   url_intent = "mx://someprotol.tk/ow?gid=" + gid
   var a = document.createElement('a');
   var linkText = document.createTextNode("click me");
   a.appendChild(linkText);
   a.title = "click me";
   a.href = url_intent;
   document.body.appendChild(a);
   clickLink(a);
  }
  else{
   alert("An error has occured making the request")
  }
 }
}
var parameters="ua=g189"
mypostrequest.open("GET", "gid?"+parameters, true)
mypostrequest.send(parameters)
</script>
to be continue:)
</body>
</html>

但是,上面的代码不起作用。有没有办法完成它?

浏览器似乎不支持自动单击非HTTP协议链接。当我将wx://更改为http://时,它可以工作。