-
Notifications
You must be signed in to change notification settings - Fork 1
/
telLink.js
57 lines (33 loc) · 1.22 KB
/
telLink.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
try{
//try - beim 1. mal gibt es varListen noch nicht. wenn executeScript erneut ausgeführt wird, wird das Skript fortlaufend unten angehängt
browser.runtime.onMessage.removeListener(varListen); //vorherige Listener löschen
}
catch(e){}
controller = new AbortController();
varTelLinkClick = function telLinkClick(evt){
evt.preventDefault(); //Linkausführung verhindern
let tel = this.href.replace(/[^0-9()+*]/g, "");
if(tel != ""){
let x = confirm( browser.i18n.getMessage("pop_askNumberText_Number", [tel]) )
if(x == true){
browser.runtime.sendMessage({
"Call_Number": true,
"Call_Number_value": tel
});
}
}
}
varListen = function (request, sender, sendResponse){
//console.log("rec", request)
if( request.hasOwnProperty("telLink_func_destroy") ){
//document.removeEventListener("click", varTelLinkClick);
controller.abort(); // entfernt alle Listener vom Addon auf der Seite
}
}
for(tagName of document.getElementsByTagName("a")){
if(tagName.protocol == "tel:"){
console.log(tagName)
tagName.addEventListener("click", varTelLinkClick, { signal: controller.signal });
}
}
browser.runtime.onMessage.addListener(varListen);