如何在html中用onclick调用firefox插件函数

How to call firefox addon function with onclick in html

本文关键字:调用 firefox 插件 函数 onclick 中用 html      更新时间:2023-09-26

我正在尝试编写一个程序,用正则表达式扫描电话号码。然后,如果匹配,它基本上应该在电话号码的后面添加一个可以点击的图像,然后在我的Firefox扩展中调用我的功能。

onDialerHandler: function(number){
  alert("onclick Event detected!");
},
onPageLoad : function(aEvent) {
if(aEvent.originalTarget.nodeName=="#document"){
  var doc = aEvent.originalTarget;
  var regex = /'(?([0-9]{3})')?[-. ]?([0-9]{3})[-. ]?([0-9]{4})/g;      
  var contents=doc.body.innerHTML;  
  var idx=contents.search("hello");
  if(idx) {
    var candidates = contents.match(regex);
    contents=contents.replace(regex,'($1) $2-$3<input id="testbutton" type="image" src="chrome://click2dial/content/images/call.png" name="image" onclick="onDialerHandler()"  width="15" height="15">');
    doc.body.innerHTML=contents;
    }  
  }
},

我对firefox插件和javascript还是个新手。这是我找到的一种添加图像的方法,但我无法处理onclick。

我读过关于人们使用"createElement"的文章,但我就是无法让它发挥作用。

如果有任何机构可以帮助我编写代码,将我的可点击图像添加到我的常规表达匹配的后面。其中一个图像被点击,需要调用函数onDialerHandler。

我确实认为我需要帮助,不要使用.replacement函数来实现这一点。即使给我指一个正确的方向也能帮助我分配?

您应该在页面中创建一个自定义事件并进行调度。


  var evt = document.createEvent("Events");
  evt.initEvent("MY_EVENT", true, false);
  document.dispatchEvent(evt);

在扩展端,您应该创建一个侦听器来捕获事件。


document.addEventListener("MY_EVENT", myFunction, false, true);

如果你想通过一些日期,你可以为这个用户事件


  var evt = document.createEvent("Events");
  evt.someDate = "date";
 ....