Maison >interface Web >js tutoriel >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.
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
<a href="./window-name.html" onClick="window.name='zhangxinxu-1';">点击我看看目标页面的window.name</a> <a href="./window-name.html" onClick="window.name='zhangxinxu-2';">点击我看看目标页面的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 :
et la page cible window-name.html vous invitera Les informations sont les suivantes : window.name='zhangxinxu-1'
affichée est window.name
. 'zhangxinxu-1'
est window.name
. 'zhangxinxu-2'
définie sur la page source. C'est comparable au window.name
document. .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
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
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.name
Ancien article de 2008 , je ne m'étendrai pas là-dessus ici. Cette méthode inter-domaines est plus sûre que JSONP.
pour réaliser une communication inter-domaines est une méthode inutile. Veuillez utiliser window.name
postMessage inter-domaines. et la communication inter-documents à la place. Mieux à utiliser, plus sûr et plus puissant.
有此看来,现在window.name
这个属性已经没什么卵用了,除了上面提到了偶尔可以用来在同一窗口前后页面之间做简单的数据传递,包括JSON字符串数据。
window.name = '{ "foo": "bar" }';
最后总结一下
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!