IPB

Bienvenue invité ( Connexion | Inscription )

> Extension Safari
Options
Slumb
posté 20 Jun 2014, 23:36
Message #1


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 782
Inscrit : 11 Sep 2005
Membre no 45 692



Bonsoir,

Je suis en train de développer une extension pour Safari, en fait elle est pratiquement terminée mais il ne me manque plus qu'a partager des données entre ma page globale.html (et donc page globale de l'extension où est le "coeur" du JS) et une autre page utilisée pour la toolbar.

J'ai essayé tout un tas de truc comme :
Code
safari.self.tab.dispatchMessage('message', 'datas');


et de l'autre côté un :
Code
safari.self.tab.addEventListener('message', callback, false);


mais impossible de communiquer de l'un a l'autre.

Quelqu'un aurait-il une idée ?

Merci à vous.


--------------------
iMac 27" - MBP 15"
PC ASUS Z97 WIFI + Bluetooth - Intel Core i7-4790K CPU 4,00GHz - GeForce 980 GTX ZOTAC 4Go - 16Go RAM - SSD Crucial
Bluetooth Device (Personal Area Network)
Bluetooth Device (RFCOMM Protocol TDI)
Carte réseau Broadcom 802.11ac
Intel Ethernet Connection I218-V
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
Slumb
posté 21 Jun 2014, 08:51
Message #2


Macbidouilleur d'argent !
***

Groupe : Membres
Messages : 782
Inscrit : 11 Sep 2005
Membre no 45 692



Je n'ai mis ici qu'un de mes innombrables essais (je peux te dire que j'en ai fais beaucoup) et celui-ci n'y a pas échappé. Si cette instruction est correcte, alors que dois-je mettre du côté global ? (dispatchMessage)

Sinon peut-être du côté Safari.extension ? (il y a des globalPage, tabs, etc. mais j'ai des erreurs quand je l'utilise).

Merci.

EDIT : voici mon code JS (je l'ai réduit au minimum pour me concentrer sur ce problème)

global.html :

Code
<script type="text/javascript">
        alert('global');
        function respondToMessage(message) {
            alert('respondToMessage');
        }
        safari.application.dispatchMessage('message', 'string');
    </script>


Mon alerte global s'affiche bien une fois. Ma page tab-1.html :

Code
<script type="text/javascript">
        alert('1');
        function waitForMessage(msgEvent) {
            if(msgEvent.name == "message") {
                alert('ici');
            }
        }
        safari.application.addEventListener('message', waitForMessage, false);
    </script>


Mon alerte '1' s'affiche aussi correctement et autant de fois que j'ai de fenêtre ouverte. Par contre, le 'ici', rien...

Ce message a été modifié par Slumb - 22 Jun 2014, 21:03.


--------------------
iMac 27" - MBP 15"
PC ASUS Z97 WIFI + Bluetooth - Intel Core i7-4790K CPU 4,00GHz - GeForce 980 GTX ZOTAC 4Go - 16Go RAM - SSD Crucial
Bluetooth Device (Personal Area Network)
Bluetooth Device (RFCOMM Protocol TDI)
Carte réseau Broadcom 802.11ac
Intel Ethernet Connection I218-V
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 5th April 2026 - 22:09