简体   繁体   English

如何使用JavaScript模拟在href为php的链接上单击

[英]how to use javascript to simulate click on link where href is php

I am writing a Google Chrome Extension. 我正在编写Google Chrome浏览器扩展程序。 I need to use javascript to simulate a click on this link: <a href="/logout.php /a> so I can log out. How can I get this done? 我需要使用JavaScript来模拟对此链接的点击: <a href="/logout.php /a>以便我可以注销。如何完成此操作?

No JQuery please, I haven't learned it yet. 请不要使用JQuery,我还没学会。

Main function will create any event: 主函数将创建任何事件:

   function ShowOperationMessage(obj, evt) {
        var fireOnThis = obj;
        if (document.createEvent) {
            var evObj = document.createEvent('MouseEvents');
            evObj.initEvent(evt, true, false);
            fireOnThis.dispatchEvent(evObj);
        } else if (document.createEventObject) {
            fireOnThis.fireEvent('on' + evt);
        }
    }

Now call the function: 现在调用函数:

 ShowOperationMessage(document.getElementById("linkID"), "click");

Since this is for an extension, you could submit an XHR request to the server /logout.php rather than simulate a click. 由于这是一个扩展,因此您可以向服务器/logout.php提交XHR请求,而不是模拟点击。

But simulating a mouse click is rather simple, I use the following code in many of my extensions: 但是模拟鼠标单击非常简单,我在许多扩展中使用以下代码:

function simulateClick(element) {
  if (!element) return;
  var dispatchEvent = function (elt, name) {
    var clickEvent = document.createEvent('MouseEvents');
    clickEvent.initEvent(name, true, true);
    elt.dispatchEvent(clickEvent);
  };
  dispatchEvent(element, 'mouseover');
  dispatchEvent(element, 'mousedown');
  dispatchEvent(element, 'click');
  dispatchEvent(element, 'mouseup');
};

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM