2009-07-26 4 views
0

Comment ajouter une fonction onload à une fenêtre ouverte? (cible est "self", pas window.open, juste un lien régulier)Ajouter une fonction de chargement à une fenêtre d'ouverture

Est-il possible avec onbeforeunload ou quelque chose? Ou ajouter onclick au "lien normal"?

Je veux dire comme ceci:

<a href="page2.htm" onclick="theWindowIHaveOpened.onload = function(){alert('loaded')}">... 
+2

Pourquoi auriez-vous besoin d'ajouter une fonction de chargement après le chargement de la page? Ça ne ferait rien. – jimyi

Répondre

0

Avec un gestionnaire onclick sur le lien et un morceau externe de script, vous pouvez faire quelque chose comme:

<script type="text/javascript"> 
function loadHandler() 
{ 
    // do stuff 
} 

function clickHandler(elem) 
{ 
    h = window.open(); 
    h.onload = loadHandler; 
    h.location.href = elem.getAttribute('href'); 
    return false; 
} 
</script> 

<a href="page2.htm" onclick="return clickHandler(this);">Linky</a> 

Bien sûr, vous devrez peut-être faire un peu de travail avec celui pour l'obtenir cross-browser de travail .

Modifier Ajouté les return déclarations afin que la navigation normale de la balise <a> est supprimée.

+0

Question états no window.open – epascarello

+0

Oh oui, whoops. Désolé, ignorez mon idée alors! Oui, sans utiliser window.open() vous ne pouvez pas obtenir une référence à la nouvelle fenêtre pour la manipuler. Y at-il une raison particulière au fait que vous pouvez créer un gestionnaire onclick, mais que vous ne pouvez pas utiliser window.open()? –

+0

(ce dernier bit du commentaire à Jani, bien sûr) –

1

Non, vous aurez aucun contrôle sur la page suivante avec un appel http base d'un lien.

Questions connexes