Tout d'abord, déclarons ici, la version de mon navigateur de test est Chrome15.0.874.121 Firefox 8.01 IE9 IeTester
Le code suivant concerne la déclaration
1: Obtenir la barre roulante
Copier le code du code comme suit:
fonction getCroll () {{)
var t, l, w, h;
If (document.DocumentElement && document.documentedlément.scrolltop) {
t = document.DocumentElement.ScrollTop;
l = document.DocumentElement.Scrollft;
w = document.DocumentElement.ScrollWidth;
h = document.DocumentElement.ScrollHeight;
}
autre
if (document.body) {
t = document.body.scrolltop;
l = document.body.scrollleft;
w = document.body.scrollwidth;
h = document.body.scrollHeight;
}
Retour {
T: T,
L: L,
w: w,
H: H
};
}
2: Obtenez la hauteur de largeur du navigateur de vue
Copier le code du code comme suit:
fonction getPageWidth () {
var pageWidth = window.InnerWidth;
ifof pagewindth!
if (document.compatMode == "css1compat") {{
pageWidth = document.DocumentElement.ClientWidth;
}
autre {
pageWidth = document.body.clientwidth;
}
}
Retourner pagewidth;
}
function getPageHeight () {
var pageHeight = window.innerHeight;
ifof pagewindth!
if (document.compatMode == "css1compat") {{
PageHeight = document.DocumentElement.ClientHeight;
}
autre {
pageHeight = document.body.clitingHeight;
}
}
Retour pageHeight;
}
3: Obtenez le nom du modèle de navigateur actuel
Copier le code du code comme suit:
Fonction () {
var sys = {};
var ua = navigator.useragent.tolowercase ();
var s;
(s = ua.match (/ msie ([/d.+)/))? /)? (/ Opéra. (# / D. +) /))? ))))))))))))))))).
if (sys.ie! = null) {
Return ("ie:" + sys.ie);
}
if (sys.firefox! = null) {
Retour ("Firefox:" + sys.firefox);
}
if (sys.chrome! = null) {
Return ("Chrome:" + Sys.Chrome);
}
if (sys.opera! = null) {
Retour ("Opera:" + Sys.Opera);
}
if (sys.safari! = null) {
Return ("Safari:" + Sys.Safari);
}
}
4: surveillance des événements
Copier le code du code comme suit:
fonction (élément, type, gestionnaire) {{
if (element.addeventRristEner) {{
Element.adDeventListener (type, gestionnaire, false);
}
autre
ifment.attachevent) {
Element.Attachevent ("ON" + type, gestionnaire);
}
autre {
Élément [sur "+ type] = Handler;
}
}
5: Retrait des événements
Copier le code du code comme suit:
fonction (élément, type, gestionnaire) {{
If (element.reMoveEventListener) {
Element.reMoveEventListener (type, gestionnaire, false);
}
autre
ifment.detachevent) {
Element.detachevent ("ON" + type, gestionnaire);
}
autre {
Élément ["on" + type] = null;
}
}
6: Lorsque l'événement, lorsque l'événement Firefox sera constamment distribué, il y aura des problèmes avec le premier incident.
Copier le code du code comme suit:
Fonction (événement) {
événement = (événement? Event: Window.Event);
if (event == null) {
var $ e = fonction () {
var c = $ e.Caller;
Tandis que (c.Caller)
C = C.Caller;
Retour c.arguments [0]
};
__Definegetter __ ("événement", $ e);
}
Événement de retour;
}
7: Empêcher les événements par défaut
Copier le code du code comme suit:
Fonction (événement) {
if (event.preventDefault) {
event.PreventDefault ();
}
autre {
event.ReturnValue = false;
}
}
8: Ne continuez pas à répandre l'incident
Copier le code du code comme suit:
Fonction (événement) {
if (event.stoppropagation) {
event.stoppropagation ();
}
autre {
event.cancelbubble = true;
}
}
9: Obtenez la cible de l'événement
Copier le code du code comme suit:
Fonction (événement) {
Return event.target || event.srcelement;
}
10: Documen.Doctype est incompatible avec le soutien
E: S'il y a une description de type de document, il s'expliquera par une erreur comme annotation et en le considérant comme un nœud de commentaire.
Firefox: s'il existe un type de document description, utilisez-le comme le premier sous-nœud du document.
Safari, Chrome, Opera: S'il y a une description de type de document, il sera expliqué comme une explication, mais il n'apparaîtra pas dans ChildNodes en tant que sous-node du document.
11: Trouver des éléments
Parfois, je ne comprends vraiment pas ce que c'est toujours, je veux toujours faire une différence. Si le système ne me laisse pas naviguer, j'ose dire que la part d'IE sera moindre.
Si l'identification et le nom sont les mêmes, il sera également retourné
Copier le code du code comme suit:
<html>
<adal>
<Regard de script>
var it item = document.getElementById ("my");
itm.Value = "second";
</cript>
</ head>
<body>
<input type = "text" name = "my" value = "first">
</docy>
</html>
Dans IE, les résultats changent.
Il en va de même
Copier le code du code comme suit:
<html>
<adal>
<Regard de script>
var it item = document.getElementById ("my");
itm.Value = "second";
</cript>
</ head>
<body>
<input type = "text" id = "my" value = "first">
</docy>
</html>
Désolé, ses résultats ont de nouveau changé.
12: S'il s'agit d'un attribut personnalisé, item.myattributs ne peut pas dessiner les résultats corrects sans navigateur IE.
Copier le code du code comme suit:
Fonction (item, myatt) {
Renvoie Itm.Atributes [Myatt].
}
Dans le même cas, l'attribut de paramètre doit savoir quoi faire, c'est-à-dire l'attribution.
Copier le code du code comme suit:
Fonction (item, myatt, valeur) {
item.attributes [myatt].
}
13: Le nombre de sous-codes de l'élément
Copier le code du code comme suit:
<ul id = "myul">
<li> d'abord </li>
<li> Deuxième </li>
<li> Troisième </li>
</ul>
Le résultat IE est 3 et l'autre navigateur est 7.
Le symbole vide entre le nœud est un nœud de texte dans d'autres navigateurs, et le résultat est 7. Si ça devient comme ça,
Copier le code du code comme suit:
<ul id = "myul"> <li> d'abord </li> <li> seconde </li> <li> troisième </li> </ul>
De cette façon, les résultats de chacun sont 3.
14: Créer des problèmes de nœud
Copier le code du code comme suit:
// Ajouter dynamiquement un élément, tous les navigateurs peuvent être réalisés
var newNode = document.CreateElement ("entrée");
newnode.type = "bouton";
newNode.value = "Sixth";
// il peut être réalisé dans IE
var newNode = document.CreateElement ("<input type = /" bouton / ">">);
15: Lorsque vous protégez le clic droit, Firefox est différent des autres, dans l'incident oncontextmenu.
16: Lors de l'ajout de style et du script dynamiquement, IE et d'autres navigateurs sont différents. Vérification spécifique.
17: Pour DOM2 et DOM3, la situation est plus compliquée.