Bonjour,
Je suis en train de développer une extension qui a pour but d'appeler des numéros de téléphones présents sur une page web. Pour cela avant de passer l'appel je dois me connecter et sélectionner un compte SIP via mon extension. Donc quand je lance mon extension et à la première sélection du compte SIP l'appel téléphonique ne se fait qu'une seule fois donc c'est bon mais si choisis de sélectionner un autre compte SIP, l'appel se fait deux fois alors que je n'ai cliqué qu'une seule fois sur le numéro et ainsi de suite suivant le nombre de fois où je sélectionne un compte SIP.
Voici ce que je fais quand je sélectionne mon compte SIP et que j'appuie sur un bouton pour valider
et voici comment je passe l'appel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $('#valider2').click(function(){ if (document.formulaire.sip.value == 0) { alert("choisissez un compte sip"); } else { var dselect = document.getElementById('tonSelect'); // récupération de la valeur sélectionné valeur = dselect.options[dselect.selectedIndex].text; localStorage.setItem("sipSelectionne", valeur); chrome.tabs.executeScript(null, { code: 'var token = "' + localStorage.getItem('token') + '";var sip = "' + valeur + '";' },function() { chrome.tabs.executeScript(null, {file: 'appel.js'}); }); document.location.href = "parametres.html"; } });
Merci d'avance pour toute l'aide que vous pourrez m'apporter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 var numeroTelephone = new RegExp('0\\d{9}|0\\d[.](\\d{2}[.]){3}\\d{2}|0\\d[ ]?(\\d{2}[ ]?){3}\\d{2}|0(\\d[ ]?){9}', 'g'); var trouve; trouve = htmlString.match(numeroTelephone); console.log(htmlString); var j = 0; if (trouve != null) { for (var i = 0; i < trouve.length; i++) { console.log(trouve[i]); if (!htmlString.includes("<a class=\"numTel\">" + trouve[i] + "</a>")) { document.getElementsByTagName('body')[0].innerHTML = document.getElementsByTagName('body')[0].innerHTML.replace(trouve[i],"<a class=numTel>" + trouve[i] + "</a>"); } } } $('.numTel').click(function(){ alert("ca clique"); var numTel = document.getElementsByClassName('numTel')[$('.numTel').index(this)].innerHTML; numTel = numTel.replace(/ |[.]/g,""); localStorage.setItem("numTel", numTel); alert(numTel); const params = { "sipExtension": sip, "calledNum" : numTel } var xhr = new XMLHttpRequest(); xhr.open('POST', 'https://extranet.occicom.fr/api/voip/v1/calls/' + sip + '/makeCall', true); xhr.setRequestHeader('Authorization', token); xhr.setRequestHeader('accept', 'application/json'); xhr.setRequestHeader('Content-type', 'application/json'); xhr.send(JSON.stringify(params)); });
Partager