簡體   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