Maison interface Web js tutoriel 各浏览器对link标签onload/onreadystatechange事件支持的差异分析_javascript技巧

各浏览器对link标签onload/onreadystatechange事件支持的差异分析_javascript技巧

May 16, 2016 pm 06:07 PM
差异

1,onload事件

复制代码 代码如下:





Link Element onload






IE6/7 :

各浏览器对link标签onload/onreadystatechange事件支持的差异分析_javascript技巧

IE8/9 :

各浏览器对link标签onload/onreadystatechange事件支持的差异分析_javascript技巧

Opera :

各浏览器对link标签onload/onreadystatechange事件支持的差异分析_javascript技巧

即IE6/7/8/9/Opera都支持onload事件, Firefox/Safari/Chrome不支持。

注:用JS创建link标签再添加到head中,情况如上。
2,onreadystatechange事件

复制代码 代码如下:





Link Element onreadystatechange






IE6/7/8/9中弹出了两次,其它浏览器均没有弹。说明只有IE支持link元素的onreadystatechange事件。弹出两次分别是readyState为loading,complete状态。可使用readyState来判断载入情况。我们再使用JS动态创建link元素试试,
复制代码 代码如下:





Link Element onreadystatechange


<script> <BR>function createEl(type, attrs){ <BR>var el = document.createElement(type), <BR>attr; <BR>for(attr in attrs){ <BR>if(attrs.hasOwnProperty(attr)){ <BR>el.setAttribute(attr, attrs[attr]); <BR>} <BR>} <BR>return el; <BR>} <BR>var link = createEl('link', { <BR>href : 'http://i3.sinaimg.cn/rny/webface/login/css/login101021_min.css', <BR>rel : 'stylesheet', <BR>type : 'text/css' <BR>}); <BR>link.onreadystatechange = function(){ <BR>alert(this) <BR>} <BR>document.getElementsByTagName('head')[0].appendChild(link); <BR></script>



IE6/7/8/9中仍然弹出了2次。Firefox/Safari/Chrome仍然没弹。貌似一切正常,但神奇的是这次在Opera中弹出了一次,说明Opera支持动态创建link元素时的onreadystatechange事件。

相关:

https://developer.mozilla.org/en/HTML/Element/link
http://msdn.microsoft.com/en-us/library/ms535848%28v=VS.85%29.aspx
http://www.w3.org/TR/2000/WD-DOM-Level-1-20000929/level-one-html.html#ID-35143001

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comparaison et analyse des différences entre SpringBoot et SpringMVC Comparaison et analyse des différences entre SpringBoot et SpringMVC Dec 29, 2023 am 11:02 AM

SpringBoot et SpringMVC sont tous deux des frameworks couramment utilisés dans le développement Java, mais il existe des différences évidentes entre eux. Cet article explorera les fonctionnalités et les utilisations de ces deux frameworks et comparera leurs différences. Tout d’abord, découvrons SpringBoot. SpringBoot a été développé par l'équipe Pivotal pour simplifier la création et le déploiement d'applications basées sur le framework Spring. Il fournit un moyen rapide et léger de créer des fichiers exécutables autonomes.

Mar 22, 2024 pm 12:48 PM

À l’ère de l’Internet mobile, les performances des téléphones mobiles ont toujours été l’une des préoccupations des utilisateurs. En tant que leaders sur le marché des puces pour téléphones mobiles, MediaTek et Qualcomm ont également attiré l'attention des consommateurs pour leurs puces. Récemment, MediaTek a lancé la puce Dimensity 8200, tandis que Qualcomm possède ses puces représentatives de la série Snapdragon. Alors, quelles sont les différences entre ces deux puces ? Cet article procédera à une analyse comparative approfondie entre Dimensity 8200 et Snapdragon. Tout d'abord, du point de vue de la technologie des processus, Dimensity 8200 utilise la dernière technologie de processus 6 nm, tandis que certains des processeurs Qualcomm Snapdragon

Interprétation des différences entre les versions Oracle11g et Oracle12c Interprétation des différences entre les versions Oracle11g et Oracle12c Mar 07, 2024 pm 02:30 PM

Oracle Database a toujours été l'un des leaders en matière de systèmes de gestion de bases de données au niveau de l'entreprise, et ses versions itératives et continuellement mises à jour ont également attiré une large attention. Parmi elles, les versions Oracle11g et Oracle12c sont des versions relativement représentatives et présentent de nombreuses différences. Cet article expliquera certaines différences importantes entre Oracle11g et Oracle12c et joindra des exemples de code spécifiques pour aider les lecteurs à mieux comprendre les différences entre les deux versions. 1. Différences d'architectureOracle1

Git ou contrôle de version ? Différences clés dans la gestion de projet PHP Git ou contrôle de version ? Différences clés dans la gestion de projet PHP Mar 10, 2024 pm 01:04 PM

Contrôle de version : le contrôle de version de base est une pratique de développement logiciel qui permet aux équipes de suivre les modifications dans la base de code. Il fournit un référentiel central contenant toutes les versions historiques des fichiers de projet. Cela permet aux développeurs d'annuler facilement les bogues, d'afficher les différences entre les versions et de coordonner les modifications simultanées de la base de code. Git : système de contrôle de version distribué Git est un système de contrôle de version distribué (DVCS), ce qui signifie que l'ordinateur de chaque développeur dispose d'une copie complète de l'intégralité de la base de code. Cela élimine la dépendance à l’égard d’un serveur central et augmente la flexibilité et la collaboration des équipes. Git permet aux développeurs de créer et de gérer des branches, de suivre l'historique d'une base de code et de partager les modifications avec d'autres développeurs. Git vs contrôle de version : principales différences entre distribution et ensemble

Évaluation de la qualité : la différence entre OnePlus et Honor Évaluation de la qualité : la différence entre OnePlus et Honor Mar 23, 2024 pm 12:03 PM

Évaluation de la qualité : la différence entre OnePlus et Honor Sur le marché actuel de la téléphonie mobile, extrêmement concurrentiel, les consommateurs ont des exigences de qualité de plus en plus élevées pour les téléphones mobiles. Parmi les nombreuses marques de téléphones mobiles, OnePlus et Honor font partie des marques les plus populaires et sont privilégiées par les consommateurs. Les deux ont leur mot à dire sur le marché, mais quelle est la différence de qualité ? Cet article procédera à une évaluation comparative entre OnePlus et Honor en termes de qualité de téléphone mobile, de performances, d'expérience utilisateur, etc. pour aider les consommateurs à mieux choisir la marque de téléphone mobile qui leur convient. 1. Apparence et conception Les téléphones mobiles OnePlus ont toujours été caractérisés par leur simplicité et leur grandeur.

Comparaison des différences entre le langage Go et Java : analyse de la syntaxe et des modèles de programmation Comparaison des différences entre le langage Go et Java : analyse de la syntaxe et des modèles de programmation Feb 01, 2024 am 08:40 AM

Différences entre le langage Go et Java : syntaxe et modèle de programmation Le langage Go et Java sont à la fois des langages de programmation modernes et populaires avec de nombreuses similitudes, mais il existe également de nombreuses différences. Ces différences se reflètent principalement dans la syntaxe et les modèles de programmation. Syntaxe 1. Déclaration de variable En langage Go, la déclaration de variable nécessite l'utilisation du mot-clé var, mais elle n'est pas obligatoire en Java. Par exemple : varaintinta; 2. Inférence de type Le langage Go prend en charge l'inférence de type, c'est-à-dire que le compilateur peut déduire automatiquement le type des variables. Par exemple : a:=10

Comparez les différences et l'analyse comparative entre Tomcat et Nginx Comparez les différences et l'analyse comparative entre Tomcat et Nginx Dec 28, 2023 am 09:47 AM

Différences et comparaisons entre Tomcat et Nginx Avec le développement rapide d'Internet, la demande d'applications réseau est de plus en plus élevée, et les serveurs Web reçoivent également de plus en plus d'attention. En tant que deux serveurs Web largement utilisés, Tomcat et Nginx montrent leurs avantages et caractéristiques respectifs dans différents scénarios. Cet article comparera Tomcat et Nginx sous différents angles et explorera leurs différences. 1. Contexte Avant de comparer Tomcat et Nginx en profondeur, comprenons d'abord leur

Une plongée approfondie dans les différences de piles dans Golang Une plongée approfondie dans les différences de piles dans Golang Mar 13, 2024 pm 05:15 PM

Golang est un langage de programmation populaire avec un concept de conception unique en programmation simultanée. Dans Golang, la gestion de la pile (heap et stack) est une tâche très importante et est cruciale pour comprendre le mécanisme de fonctionnement du programme Golang. Cet article approfondira les différences entre les piles dans Golang et démontrera les différences et les connexions entre elles à travers des exemples de code concrets. En informatique, les piles sont deux méthodes courantes d'allocation de mémoire. Elles diffèrent par la gestion de la mémoire et le stockage des données.

See all articles