2009-07-22 5 views
0

Je suis nouveau sur Javascript et après avoir lu des livres connexes pendant un certain temps, je suis encore confus quel est le sens et quelle est la fonction de window.parent? Appréciez si quelqu'un pourrait me montrer quelques échantillons simples pour me faire savoir ce que windows.parent veut dire? Merci!javascript window.parent issue

Voici le code que je suis confus, et c'est une partie du code Javascript écrit par une classe ASP.Net comme une partie de la réponse au côté client. Je suis especiallt confus au sujet de ce que signifie window.parent. "+ Taget +" .location = « » + url. Apprécierions si quelqu'un pouvait préciser.

HttpContext.Current.Response.Write("<script>window.parent." + Taget + ".location = '" + url + "?userID=" + userID + "';window.location='Title.aspx';</script>"); 

merci à l'avance, George

Répondre

7

window.parent fait référence à un parent de cadre (ou de iframe):

<frameset cols="25%,75%"> 
    <frame src="frame_a.aspx" name="frameA" /> 
    <frame src="frame_b.aspx" name="frameB" /> 
</frameset> 

dans l'exemple ci-dessus, si window.parent ont été exécutés en frame_a.aspx, il se réfère à la fenêtre contenant le <frameset> élément.

cible désigne soit un cadre (par nom) ou une cible standard:

  • _blank - Nouvelle fenêtre
  • _parent - parent de cadre actuel
  • _top - Top-cadre le plus (toute la fenêtre du navigateur/tab)

et _parent seulement se référer à des choses différentes si votre cadre Il y a plus d'un niveau de profondeur (ex. if frame_a.htm contient un autre frameset ou iframe)

'window.parent.' + target + '.location' modifie l'URL d'une image, contenue dans le parent de l'image en cours, avec le nom représenté par la variable target. (J'ai supposé taget est simplement une faute de frappe).

Dans mon exemple ci-dessus, si frame_a.aspx exécutait votre exemple de code avec la variable "frameB" target, il changerait l'URL de ce cadre en autre chose (sans affecter frameA).

Bien que vous ne l'ayez pas mentionné, il est possible que vous utilisiez window.open et que vous essayez de changer l'emplacement sur la fenêtre qui l'a ouvert. Dans ce cas, vous recherchez window.opener.

+0

Merci Richard, 1. Je veux confirmer avec vous que dans mon exemple, je vais changer la nouvelle URL de l'image en cours à Title.aspx, et changer la nouvelle URL de l'image (nommée par la variable Target) à la valeur affecté par l'URL de la variable, correct? 2. pour la cible que vous avez mentionnée, il s'agit simplement d'une variable normale définie par le client, et non d'une variable réservée javascript? – George2

+1

1. C'est correct (bien que je n'ai pas fait défiler vers la droite pour voir le bit Title.aspx;) 2. cible n'est pas un mot réservé, c'est juste une variable (une variable C#/VB.NET dans votre cas, puisque vous générez le côté du serveur javascript) –

+0

Merci Richard, question répondue. J'ai une question javsscript connexe ici, apprécie si vous pourriez aider. :-) http://stackoverflow.com/questions/1163660/http-redirection-issue – George2