2010-01-23 5 views
0

J'essaie d'utiliser popupNode dans une petite extension Firefox basée sur javascript. Donc, si un utilisateur clique droit sur un lien puis clique sur un élément de menu supplémentaire, un nouvel onglet ouvre avec le lien (sorta comme « ouvert dans un nouvel onglet »):en utilisant popupNode dans une extension firefox javascript

` var foo = { onLoad: function () { // code d'initialisation this.initialized = true; },

onMenuItemCommand: function() {

var tBrowser = document.getElementById("content"); 
var target = document.popupNode; 

tBrowser.selectedTab = tab; 
var tab = tBrowser.addTab(target); 

}} ;

window.addEventListener ("charge", function (e) {foo.onLoad (e);}, false);

`

Il fonctionne la plupart du temps, mais je me demande à qui est le bon usage. Le problème est que je veux remplacer certains caractères sur la cible var, mais en quelque sorte cette partie ne fonctionne pas. quelque chose comme target.replace() causera des problèmes. Donc je devine que la cible n'est pas une chaîne.

La plupart du temps, je voudrais savoir ce que popupNode ne fait ...

grâce

Peter

Répondre

0

Je ne l'ai pas vraiment utilisé « popupNode », mais dans les noeuds généraux ne sont pas les mêmes comme des chaînes. Je suggère de lire sur le Document Object Model (DOM) pour en savoir plus.

En ce qui concerne le remplacement du texte, en supposant popupNodes fonctionnent comme d'autres nœuds alors quelque chose comme cela peut fonctionner pour vous:

var target = document.popupNode; 
target.innerHTML = target.innerHTML.replace("old_string", "new_string") 
+0

Pour ajouter un peu de détails sur les nœuds en général, essentiellement une page HTML ou un document XML est structuré Ces «choses» sont appelées nœuds, et sur une page Web, il peut s'agir d'éléments HTML, de commentaires, d'attributs, de texte brut, etc. un noeud est, disons, un div, vous ne voulez pas modifier le div comme une chaîne, vous voulez éditer le code HTML contenu * entre * '

' and '
', donc vous utilisez la propriété innerHTML. Avoir du sens? –

+0

En ce qui concerne la signification de popupNode en particulier, j'ai trouvé cette description qui peut être utile: https://developer.mozilla.org/en/DOM/document.popupNode "Lorsqu'un popup attaché par l'intermédiaire de la popup ou du contexte attributs est ouvert, la propriété popupNode du document XUL est définie sur le nœud sur lequel vous avez cliqué ". Il s'agit donc essentiellement d'un moyen d'obtenir un nœud particulier du document qui peut alors être modifié de la même manière que n'importe quel autre nœud. –

+0

Ouais - Je pense que c'était ça. merci pour votre aide Peter – pmoosh

Questions connexes