繁体   English   中英

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

[英]How to call firefox addon function with onclick in html

我正在尝试编写一个程序,用正则表达式扫描电话号码。 然后,如果它匹配它应该基本上添加一个图像到应该可点击的电话号码的背面,然后在我的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函数。

我相信我不需要使用.replace函数来帮助它。 即使把我指向正确的方向可能会帮助我分配?

您应该在页面中创建自定义事件并发送它。


  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";
 ....

暂无
暂无

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

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