Je travaille sur une barre latérale de Firefox qui charge une page Web dans le document principal. Maintenant, je voudrais appeler une fonction javascript à partir du document principal en réponse à un bouton poussé sur la barre latérale. Comment la barre latérale peut-elle obliger le document principal à exécuter une de ses fonctions javascript? Jusqu'à présent, j'ai une variable contenant le code javascript, mais comment peut-elle être exécutée? (Dans le contexte du site chargé?)Comment autoriser une barre latérale à exécuter du code javascript à partir du document principal?
Comment autoriser une barre latérale à exécuter du code javascript à partir du document principal?
Répondre
Dr.Molle est correct avec sa réponse mais j'aime toujours travailler des exemples.
console.log("Opening new page at http://example.com");
page = window.open('http://example.com');
console.log(page);
console.log("calling alert on opened page");
page.alert("I opened and the previous windows JS called me!!!!");
console.log("called alert");
Exemple de page => [Supprimé. Voir mise à jour ci-dessous]
Résultats:
Note: je devais permettre popups pour le code de démonstration pour travailler, mais cela est une autre question pour une autre question SO. ;)
MISE À JOUR:
Ce faisant
page.alert()
travaillé parce qu'il n'a pas eu à attendre la page pour terminer le chargement pour que cela fonctionne. Afin d'être en mesure d'appeler une fonction est un script sur la page chargée, vous devez vous assurer que le script a terminé le chargement. Pour illustrer cela, j'ai changé mon exemple.
Exemple page =>http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-call-function-in-opened-page.html
La JS ressemble à ceci
page = window.open('http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-the-other-page.html');
var initOtherPage = function() {
try {
page.showMeTheMoney();
console.log("It worked!");
} catch (e) {
console.log("failed to call function on other page because: "+e);
setTimeout(function() {
console.log("trying again")
initOtherPage();
}, 1000);
}
}
initOtherPage();
Sortie de la console
page Ouvert
Chargez la page en utilisant window.open() et l'enregistrer dans une variable:
page=window.open('some.htm')
alors vous pouvez accéder à la fenêtre en utilisant cette variable et appeler des fonctions à l'intérieur :
page.someFunction()
C'est trop cool! Je ne savais pas que tu pouvais faire ça. :) Merci! –
Merci beaucoup! – Nanadada
- 1. Délégation de code à exécuter à partir du thread principal pour gérer gui à partir du thread principal
- 2. Comment exécuter une application xulrunner à partir du code java?
- 3. Comment appeler un lien javascript à partir d'une barre latérale de Firefox?
- 4. Exécuter du code dans le contexte du thread principal (Lazarus)
- 5. Comment appeler une fonction JavaScript à partir du code C#
- 6. Comment exécuter des tests NUnit à partir du code C#
- 7. Comment exécuter la fonction PostgreSQL à partir du code VBA?
- 8. Appeler javascript à partir du code derrière
- 9. Comment exécuter du code JavaScript en séquence?
- 10. C# exécuter Javascript à partir du bouton cliquer
- 11. Charger un document html en javascript à partir du texte
- 12. Exécuter un programme externe à partir du code C#
- 13. Comment exécuter des fenêtres modales à partir du code avec du cacao?
- 14. javascript: obtention de l'identifiant du parent à partir d'un document
- 15. Exécuter le javascript après chargement du document javascript externe
- 16. Comment exécuter une application à partir du service Windows
- 17. Comment déterminer l'événement est venu du document principal de l'onglet
- 18. Comment autoriser en toute sécurité les utilisateurs à exécuter du code Ruby arbitraire?
- 19. Obtenez le document IFrame, à partir de JavaScript dans le document principal
- 20. barre de navigation latérale Aide de javascript!
- 21. Comment exécuter du code à chaque fois que l'URL change
- 22. Exécuter EXE à partir du client
- 23. Mon "contenu principal" commence à la fin de ma barre latérale ... aide!
- 24. JavaScript: propriétés du document
- 25. Besoin d'écrire du code C à partir du code C++?
- 26. Comment ajouter une classe à la barre latérale sur $ _GET
- 27. comment puis-je exécuter à partir du service
- 28. Comment ajouter du style à partir du code derrière?
- 29. Contenu du fluide div avec barre latérale en option
- 30. Appeler javascript à partir du code objectif-c
Merci beaucoup, page.alert() fonctionne, mais comment peut-on appeler une fonction dans un script externe? Par exemple: Le script externe est inclus par: othercript.js contient une fonction que j'aimerais appeler. Comment une fonction dans otherscript.js peut-elle être référencée/appelée? (typeof mainWindow [nom_fonction] renvoie "non défini" dans ce cas). – Nanadada
@Nanadada, intéressant. Pas certain de pourquoi. Je vais devoir vérifier ça. Merci de vérifier cela. –