Maison >interface Web >js tutoriel >Explication détaillée des caractéristiques et fonctions de window.name en js

Explication détaillée des caractéristiques et fonctions de window.name en js

青灯夜游
青灯夜游avant
2020-11-03 17:44:116015parcourir

Explication détaillée des caractéristiques et fonctions de window.name en js

Je sais depuis longtemps que la fenêtre a un attribut de nom, mais je n'ai jamais su à quoi elle servait. J'ai pris le temps de la rechercher et de la tester aujourd'hui et j'ai découvert cela. c'est un attribut intéressant de l'API JS.

Tutoriel recommandé : "Tutoriel vidéo JavaScript"

Tous les navigateurs ont un window.name

window.name C'est un attribut commun à tous les navigateurs et représente le nom de la fenêtre du navigateur. La valeur par défaut est une chaîne vide et tous les navigateurs ont une chaîne vide.

Explication détaillée des caractéristiques et fonctions de window.name en js

Il s'agit d'un attribut lisible et inscriptible, la syntaxe est la suivante :

string = window.name;
window.name = string;

Par exemple :

window.name = 'zhangxinxu';

La fonctionnalité inter-pages de window.name

window.name a une fonctionnalité inter-pages très intéressante. La description spécifique est la suivante : si la page est définie avec window.name, même si la page passe à Pour d'autres pages, ce window.name sera toujours conservé.

Par exemple, pour la démo suivante, vous pouvez cliquer ici : Démo de test de nom de fenêtre et d'adresse de lien

Il y a deux hyperliens sur la page, cliquez sur Lors de la création d'un hyperlien , la valeur de l'attribut window de la page actuelle sera définie : name

Explication détaillée des caractéristiques et fonctions de window.name en js

Le code HTML est le suivant :

<a href="./window-name.html" onClick="window.name=&#39;zhangxinxu-1&#39;;">点击我看看目标页面的window.name</a>
<a href="./window-name.html" onClick="window.name=&#39;zhangxinxu-2&#39;;">点击我看看目标页面的window.name</a>

puis window-name Quoi la page .html est très simple (voir le code ci-dessous), qui consiste à afficher la valeur

à ce moment-là après le chargement de la page. window.name

<!-- window-name.html页面中的代码 -->
<p>window.name值是:<output id="output"></output></p>
<script>output.textContent = window.name;</script>

L'effet final est le suivant :

  • Cliquer sur le premier lien définira la page actuelle

    et la page cible window-name.html vous invitera Les informations sont les suivantes : window.name='zhangxinxu-1'

Explication détaillée des caractéristiques et fonctions de window.name en js

  • La valeur

    affichée est window.name. 'zhangxinxu-1'

  • À ce stade, nous revenons à la page source :

Explication détaillée des caractéristiques et fonctions de window.name en js

  • Cliquez sur le deuxième lien :

Explication détaillée des caractéristiques et fonctions de window.name en js

  • Vous constaterez que la page cible affiche la valeur de

    est window.name . 'zhangxinxu-2'

Explication détaillée des caractéristiques et fonctions de window.name en js

Cette fonctionnalité est très intéressante. Elle peut en fait mémoriser la valeur

définie sur la page source. C'est comparable au window.namedocument. .referrer Pour être facile à utiliser, après tout, vous pouvez spécifier directement n'importe quel caractère, et doit également traiter l'URL. document.referrer

Par exemple, dans l'exemple ci-dessus, la page window-name.html peut savoir de quel lien elle provient, puis faire différentes choses selon différentes sources. C'est plus propre, plus flexible et plus privé que le passage. paramètres via l’URL.

Le window.name ouvert dans la nouvelle fenêtre n'est pas valide

signifie fenêtre, donc si nous définissons le lien window ci-dessus vers un <a></a> nouvelle fenêtre Ouverte, alors le target="_blank" de la page cible est la chaîne vide window.name, car c'est une nouvelle fenêtre, pas la fenêtre avec '' défini. window.name

Par conséquent,

il existe encore certaines limitations dans la transmission de données entre les pages. La valeur window.name

window.name n'a aucune utilité dans tous les domaines.

suit le formulaire du navigateur, donc, tant qu'elle est dans. un formulaire, vous pouvez partager une valeur, afin de pouvoir réaliser une acquisition de données inter-domaines. Il s'agissait d'une méthode inter-domaines bien connue dans le passé, appelée "window.name Transport". cet window.nameAncien article de 2008 , je ne m'étendrai pas là-dessus ici. Cette méthode inter-domaines est plus sûre que JSONP.

Ensuite, je veux expliquer pourquoi je ne veux pas élargir la question, car maintenant, utiliser

pour réaliser une communication inter-domaines est une méthode inutile. Veuillez utiliser window.namepostMessage inter-domaines. et la communication inter-documents à la place. Mieux à utiliser, plus sûr et plus puissant.

有此看来,现在window.name这个属性已经没什么卵用了,除了上面提到了偶尔可以用来在同一窗口前后页面之间做简单的数据传递,包括JSON字符串数据。

window.name = &#39;{ "foo": "bar" }&#39;;

最后总结一下

 1. window.name可读可写,指支持字符串;

 2. window.name的值跟着浏览器窗口走的,不是跟着页面走的;

 3. window.name没什么卵用,知道他没用就是很有用的知识。

好,就这么多,让我搞清楚了传说中的window.name到底是个什么鬼,我表示很满足。

原文地址:https://www.zhangxinxu.com/wordpress/?p=8947

更多编程相关知识,请访问:编程入门!!

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer