En primer lugar, declaremos aquí, la versión de mi navegador de prueba es Chrome15.0.874.121 Firefox 8.01 IE9 IETetester
El siguiente código es sobre la declaración
1: Obtener la barra de rodadura
Copiar código del código de la siguiente manera:
función getScroll () {{)
Var t, L, W, H;
If (document.documentelement && document.documentedlement.scrolltop) {
t = document.documentelement.scrolltop;
l = document.documentelement.scrollleft;
w = document.documentelement.scrollwidth;
h = document.documentelement.scrollHeight;
}
demás
if (document.body) {
t = document.body.scrolltop;
l = document.body.scrollleft;
w = document.body.scrollwidth;
h = document.body.scrollheight;
}
Devolver {
T: T,
L: L,
W: W,
S.S
};
}
2: Obtenga la altura de ancho del navegador View
Copiar código del código de la siguiente manera:
función getPageWidth () {
var pageWidth = window.innerWidth;
Ifof PageWindth!
if (document.compatmode == "css1compat") {{
PageWidth = document.documentelement.clientWidth;
}
demás {
PageWidth = document.body.clientWidth;
}
}
Devolver el ancho de página;
}
función getPageHeight () {
var pageHeight = window.innerHeight;
Ifof PageWindth!
if (document.compatmode == "css1compat") {{
PageHeight = document.documentelement.clientHeight;
}
demás {
PageHeight = document.body.clitingHeight;
}
}
Devolver PageHeight;
}
3: Obtenga el nombre actual del modelo del navegador
Copiar código del código de la siguiente manera:
Función () {
var sys = {};
var ua = navigator.useragent.tolowercase ();
var s;
(S = UA.Match (/MSIE ([/d.+)//))? /)? (/Ópera. (#/D.+)/))? )))))))))))))).
if (sys.ie! = null) {
Return ("es decir:" + sys.ie);
}
if (sys.firefox! = null) {
Return ("Firefox:" + Sys.firefox);
}
if (sys.chrome! = null) {
Return ("Chrome:" + sys.chrome);
}
if (sys.opora! = null) {
Return ("Opera:" + sys.opora);
}
if (sys.safari! = null) {
Return ("safari:" + sys.safari);
}
}
4: Monitoreo de eventos
Copiar código del código de la siguiente manera:
función (elemento, type, manejador) {{
if (element.addeventRistener) {{
Elemento.addeventListener (tipo, controlador, falso);
}
demás
ifment.attachevent) {
Element.attachevent ("on" + type, manejador);
}
demás {
Elemento [en " + type] = Handler;
}
}
5: eliminación de eventos
Copiar código del código de la siguiente manera:
función (elemento, type, manejador) {{
If (element.removeEventListener) {
Elemento.removeEventListener (tipo, controlador, falso);
}
demás
ifment.detachevent) {
Elemento.detachevent ("on" + type, manejador);
}
demás {
Elemento ["on" + type] = null;
}
}
6: Cuando el evento, cuando el evento de Firefox se distribuya constantemente, habrá problemas con el primer incidente.
Copiar código del código de la siguiente manera:
Función (evento) {
evento = (¿evento? Event: Window.event);
if (event == null) {
var $ e = function () {
var c = $ E.Caller;
Mientras (C.Caller)
c = C.Caller;
Devolver c.argumentos [0]
};
__DefineGetter __ ("Evento", $ E);
}
Evento de regreso;
}
7: Prevenir eventos predeterminados
Copiar código del código de la siguiente manera:
Función (evento) {
if (event.preventDefault) {
event.preventDefault ();
}
demás {
event.returnValue = false;
}
}
8: No continúe difundiendo el incidente
Copiar código del código de la siguiente manera:
Función (evento) {
if (event.stoppropagation) {
event.stopPropagation ();
}
demás {
event.cancelBubble = true;
}
}
9: Obtenga el objetivo del evento
Copiar código del código de la siguiente manera:
Función (evento) {
Event.Target ||
}
10: Documen.DocType es inconsistente con el apoyo
E: Si hay una descripción del tipo de documento, se explicará por un error como una anotación y con respecto a ella como un nodo de comentarios.
Firefox: si hay una descripción del tipo de documento, úsela como el primer subnodo del documento.
Safari, Chrome, Opera: si hay una descripción del tipo de documento, se explicará como una explicación, pero no aparecerá en los nodos infantiles como un subnodo del documento.
11: Encuentra elementos
A veces realmente no entiendo lo que siempre está haciendo, siempre quiero marcar la diferencia. Si el sistema no me deja navegador, me atrevo a decir que la parte de IE será menor.
Si la identificación y el nombre son los mismos, también será devuelto
Copiar código del código de la siguiente manera:
<html>
<Evista>
<script diferir>
var it item = document.getElementById ("my");
itm.value = "segundo";
</script>
</ablo>
<Body>
<input type = "text" name = "my" value = "primero">
</body>
</html>
En IE, los resultados cambian.
Lo mismo es, es decir, la identificación no se distingue
Copiar código del código de la siguiente manera:
<html>
<Evista>
<script diferir>
var it item = document.getElementById ("my");
itm.value = "segundo";
</script>
</ablo>
<Body>
<input type = "text" id = "my" value = "primero">
</body>
</html>
Lo siento, sus resultados cambiaron de nuevo.
12: Si se trata de un atributo personalizado, elemento. Los Myattributs no pueden dibujar los resultados correctos sin el navegador IE.
Copiar código del código de la siguiente manera:
Función (elemento, myatt) {
Devolver itm.Attributes [Myatt].
}
En el mismo caso, el atributo de configuración debe saber qué hacer, es decir, asignación.
Copiar código del código de la siguiente manera:
Función (elemento, myatt, valor) {
item.attributes [Myatt].
}
13: El número de subnodos del elemento
Copiar código del código de la siguiente manera:
<ul id = "myul">
<li> Primero </li>
<li> segundo </li>
<li> Tercer </li>
</ul>
El resultado de IE es 3 y el otro navegador es 7.
El símbolo en blanco entre el nodo es un nodo de texto en otros navegadores, y el resultado es 7. Si se vuelve así
Copiar código del código de la siguiente manera:
<ul id = "myul"> <li> First </li> <li> segundo </li> <li> Third </li> </ul>
De esta manera, los resultados de todos son 3.
14: Crear problemas de nodo
Copiar código del código de la siguiente manera:
// El elemento agregue dinámicamente, todos los navegadores se pueden lograr
var newnode = document.createElement ("entrada");
newnode.type = "botón";
newnode.Value = "Sixth";
// se puede realizar en IE
var newnode = document.createElement ("<input type =/" botón/">">);
15: Al proteger el clic derecho, Firefox es diferente de los demás, en el incidente de OnContextMenu.
16: Al agregar estilo y script dinámicamente, IE y otros navegadores son diferentes. Cheque específico.
17: Para DOM2 y DOM3, la situación es más complicada.