【问题标题】:Can I use click event without clicking我可以在不点击的情况下使用点击事件吗
【发布时间】:2016-02-01 03:55:02
【问题描述】:

当我们点击网站上的链接时,会执行点击事件,并且浏览器会重定向到链接的目标,以便目标页面中的引用地址成为以前的网站地址。

我想在不点击的情况下打开网站中的链接。 例如,我想打开一个网站(例如 cnn.com 或任何网站)并使用浏览器控制台模拟«浏览器»打开链接之一的点击事件。 我不需要代码直接打开该链接,但我还需要一个代码或扩展程序来强制浏览器打开链接引用之一。

请注意,我们无法访问主机,例如假设我们必须打开 stackoverflow.com 的链接而不点击。

谢谢

【问题讨论】:

  • 有一些特殊的方法可以让您从 firefox 插件中点击,如果您想这样做,请告诉我们。方法会有所不同,因为您可能需要元素在屏幕上可见。
  • 我想对你说@Noitidart
  • 在 Firefox 中,我们有一些额外的工具可以触发精确点击,但是元素和窗口必须在屏幕上可见,这里是工具:github.com/Noitidart/ChromeUtils 我们也可以使用 js-ctypes 来物理移动鼠标并单击。如果您想在没有焦点的情况下触发,我认为唯一的选择是 .click() 或以编程方式使用 firefox 事件检查器来确定 click/mousedown/etc 上的触发器,然后触发该功能。像这样的 Firefox 合成器事件的 chrome 实用程序:developer.mozilla.org/en-US/docs/Web/API/event.initMouseEvent

标签: jquery dom google-chrome-extension firefox-addon


【解决方案1】:

是的,您可以模拟点击。

$("#yourLink").click();

或者,

$("#yourLink").trigger("click");

【讨论】:

  • 亲爱的@Script47,问题已编辑。
  • @Sheede 我很好奇,为什么你只能使用控制台。
  • 我们无法访问主机,例如假设我们必须打开stackoverflow.com的链接而不点击。
  • 我可以模拟所有链接,我可以安排这个动作吗?
【解决方案2】:

你可以使用jquery点击或者触发点击这里是文档https://api.jquery.com/click/
https://api.jquery.com/trigger/

【讨论】:

  • 亲爱的@juan,我们无法访问网站的代码,例如假设我们必须打开stackoverflow.com的链接而不点击。
  • 如果你能得到href值,你可以将窗口重定位到你拥有的链接地址,你有吗?
  • 那就是 window.location.href=你的位置
  • 没有@juan,因为如果我打开这个链接,是指令打开,新页面引用是空的!我需要在触发或重定向后,新页面的推荐将是“stackoverflow.com”
【解决方案3】:

是的,有可能。

var element = document.getElementById('link');

// Trigger click event on Safari using createEvent
if(document.createEvent) {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    element.dispatchEvent(evt);
}
else {
    element.click();
}

注意:对于 Safari,您必须创建一个事件并调度它。

【讨论】:

  • 这段代码写在哪里?我们无法访问主机! @Sanjeev
猜你喜欢
  • 1970-01-01
  • 2017-12-15
  • 1970-01-01
  • 1970-01-01
  • 2021-08-07
  • 2014-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多