Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以为firefox创建一个插件,在网页上生成一个或多个点击事件?_Javascript_Jquery_Html_Firefox Addon - Fatal编程技术网

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

Javascript 是否可以为firefox创建一个插件,在网页上生成一个或多个点击事件?,javascript,jquery,html,firefox-addon,Javascript,Jquery,Html,Firefox Addon,这是我的第一个问题!:) 我将具体说明: 我需要与特定网页直接和自动交互 我需要访问它上面的元素,比如特定的或特定的,并在该特定元素上生成一个单击事件 我需要知道使用插件是否可以做到这一点,因为如果不行,我的整个项目就会崩溃:( (我试图在我的页面上使用脚本,但由于目标页面位于不同的域中,因此它违反了JavaScript的基本规则/策略。因此我无法这样做…) 谢谢您抽出时间!当然可以 下面是我在我的一个私有扩展中使用的代码 var btn = document.getElementById(

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

我将具体说明:

  • 我需要与特定网页直接和自动交互
  • 我需要访问它上面的元素,比如特定的
    或特定的
    ,并在该特定元素上生成一个单击事件
我需要知道使用插件是否可以做到这一点,因为如果不行,我的整个项目就会崩溃:(

(我试图在我的页面上使用脚本,但由于目标页面位于不同的域中,因此它违反了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);

}
注释

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

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

  • 您可以使用()并向其传递选择器字符串,而不是使用getElementById


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

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

    从插件描述:

    关于这个附加组件

    允许您通过以下方式自定义网页的显示或行为 使用少量JavaScript

    数百个脚本,为各种各样的流行网站,已经开始 可于

    您也可以编写自己的脚本。请签出 开始吧


    Firebug和大多数浏览器开发工具允许您将脚本/包含添加到实时网页中,然后您可以做任何您想做的事情。类似地,Firefox的GreaseMonkey允许您以更自动的方式完成此操作,并且您可以更轻松地与其他人共享此类脚本。嗨,Brian,谢谢,这帮了大忙:)如果你把你的“评论”改为“回答”,我会检查一下的!;)扩展并生成一个答案:)