是否可以创建一个 Firefox 插件,在网页上生成一个或多个点击事件



这是我的第一个问题! :)

我会具体说明:

  • 我需要直接自动与特定网页交互!
  • 我需要像特定<a>或特定<div>一样访问其上的元素,并在该特定元素上生成单击事件!

我需要知道是否可以使用插件来做到这一点,因为如果不是,我的整个项目就会:(崩溃!

(我尝试在我的页面上使用脚本,但由于目标页面位于不同的域上,因此违反了 JavaScript 的基本规则/策略。所以我不能那样做...

谢谢你的时间!

当然你可以这样做。

以下是我在其中一个专用扩展中使用的代码。

var btn = document.getElementById(BTN_ID);;
if (btn) {
  var clickEvent = document.createEvent("MouseEvent");
  clickEvent.initMouseEvent("click", true, true, document.defaultView, 
                                0, 0, 0, 0, 0, false, false, false, false, 0, null);
  btn.dispatchEvent(clickEvent);
}

笔记

  1. 这需要在 DOMContentLoaded 上或之后完成,以便 DOM 元素变得可用

  2. 这是在内容上下文中执行的(如果您知道我的意思)

  3. 您可以使用 document.querySelector() 并向其传递一个选择器字符串,而不是使用 getElementById。

好吧,Firebug和大多数浏览器开发人员工具允许您将脚本/包含添加到实时网页中,然后您可以做任何您想做的事情。

同样,GreaseMonkey for Firefox 允许您以更自动的方式执行此操作,并且您可以更轻松地与他人共享此类脚本。

从插件描述:

关于此附加组件

允许您自定义网页的显示或行为方式,方法是 使用少量的 JavaScript。

数百个脚本,用于各种流行网站,已经 可在 http://userscripts.org 购买。

您也可以编写自己的脚本。退房 http://wiki.greasespot.net/开始。

最新更新