Primeiro de tudo, vamos declarar aqui, a versão do meu navegador de teste é Chrome15.0.874.121 Firefox 8.01 IE9 IETETETERSTO
O código a seguir é sobre a declaração
1: Obtendo a barra de rolamento
Copie o código do código da seguinte forma:
função getSCroll () {{)
var t, l, w, h;
If (document.documentElement && document.documentEdled.scrolltop) {
t = document.documentElement.scrolltop;
l = document.documentElement.scrollleft;
w = document.documentElement.scrollwidth;
h = document.documentElement.scrolHeight;
}
outro
if (document.body) {
t = document.body.scrolltop;
l = document.body.scrollleft;
w = document.body.scrollwidth;
h = document.body.scrolHeight;
}
Retornar {
T: T,
L: L,
W: W,
H: h
};
}
2: Obtenha a altura da largura do navegador de visualização
Copie o código do código da seguinte forma:
função getPageWidth () {
var warwidth = window.innerwidth;
IFOF PageWindth! = "Número") {{
if (document.compatmode == "css1compat") {{
PageWidth = document.documentElement.clientWidth;
}
outro {
PageWidth = document.body.clientWidth;
}
}
Retornar largura de página;
}
função getPageHeight () {
var pageHeight = window.innerHeight;
IFOF PageWindth! = "Número") {{
if (document.compatmode == "css1compat") {{
PageHeight = document.documentElement.clientHeight;
}
outro {
PageHeight = document.body.clitingHeight;
}
}
Retornar PageHeight;
}
3: Obtenha o nome do modelo do navegador atual
Copie o código do código da seguinte forma:
Function () {
var sys = {};
var ua = navegator.UserAgent.TolowerCase ();
var s;
(s = ua.match (/msie (/d.+)/)? /)? (/Ópera. (#/D.+)/))? )))))))))))))))).
if (sys.ie! = null) {
Retornar ("ou seja,:" + sys.ie);
}
if (sys.firefox! = null) {
Return ("Firefox:" + sys.firefox);
}
if (sys.chrome! = null) {
Return ("Chrome:" + sys.chrome);
}
if (sys.opera! = null) {
Return ("ópera:" + sys.opera);
}
if (sys.safari! = null) {
Return ("Safari:" + sys.safari);
}
}
4: Monitoramento de eventos
Copie o código do código da seguinte forma:
função (elemento, tipo, manipulador) {{
if (element.adDeventRistener) {{
Element.AddeventListener (tipo, manipulador, false);
}
outro
ifment.attachevent) {
Element.attachevent ("on" + tipo, manipulador);
}
outro {
Elemento [em " + tipo] = manipulador;
}
}
5: Remoção de eventos
Copie o código do código da seguinte forma:
função (elemento, tipo, manipulador) {{
If (element.removeEventListener) {
Element.RemoveEventListener (tipo, manipulador, false);
}
outro
ifment.Detachevent) {
Element.Detachevent ("on" + tipo, manipulador);
}
outro {
Elemento ["on" + type] = null;
}
}
6: Quando o evento, quando o evento do Firefox for constantemente distribuído, haverá problemas com o primeiro incidente.
Copie o código do código da seguinte forma:
Função (evento) {
evento = (evento? Evento: window.event);
if (event == null) {
var $ e = function () {
var c = $ e.caller;
While (C.Caller)
C = C.Caller;
Retornar C. Argumentos [0]
};
__Definegetter __ ("Evento", $ E);
}
Evento de retorno;
}
7: impedir eventos padrão
Copie o código do código da seguinte forma:
Função (evento) {
if (event.preventDefault) {
event.preventDefault ();
}
outro {
event.returnValue = false;
}
}
8: Não continue a espalhar o incidente
Copie o código do código da seguinte forma:
Função (evento) {
if (event.stoppropagation) {
event.stopPropagation ();
}
outro {
event.cancelbubble = true;
}
}
9: Obtenha o alvo do evento
Copie o código do código da seguinte forma:
Função (evento) {
Return Event.Target ||.
}
10: documen.doctype é inconsistente com o suporte
E: Se houver uma descrição do tipo de documento, ele será explicado por um erro como uma anotação e em relação a ele como um nó de comentário.
Firefox: se houver uma descrição do tipo de documento, use -o como o primeiro sub -nó do documento.
Safari, Chrome, Opera: Se houver uma descrição do tipo de documento, ele será explicado como uma explicação, mas não aparecerá nos Childnodes como um sub -nó do documento.
11: Encontre elementos
Às vezes eu realmente não entendo o que o IE está sempre fazendo, sempre quero fazer a diferença. Se o sistema não me permitir navegador, ouso dizer que o compartilhamento do IE será menor.
Se ID e nome forem iguais, ele também será devolvido
Copie o código do código da seguinte forma:
<html>
<head>
<script adie>
var it item = document.getElementById ("my");
itm.value = "segundo";
</script>
</head>
<Body>
<input type = "text" name = "meu" value = "primeiro">>
</body>
</html>
No IE, os resultados mudam.
O mesmo é IE, ID não é distinguido
Copie o código do código da seguinte forma:
<html>
<head>
<script adie>
var it item = document.getElementById ("my");
itm.value = "segundo";
</script>
</head>
<Body>
<input type = "text" id = "meu" value = "primeiro">>
</body>
</html>
Desculpe, seus resultados mudaram novamente.
12: Se for um atributo personalizado, o item.MyAttributs não pode desenhar os resultados corretos sem o navegador do IE.
Copie o código do código da seguinte forma:
Função (item, myatt) {
Retorne Itm.Attributes [Myatt].
}
No mesmo caso, o atributo de configuração deve saber o que fazer, ou seja, atribuição.
Copie o código do código da seguinte forma:
Função (item, myatt, valor) {
item.attributes [myatt].
}
13: O número de sub -nodos do elemento
Copie o código do código da seguinte forma:
<ul id = "myul">
<li> Primeiro </li>
<li> Segundo </li>
<li> Terceiro </li>
</ul>
O resultado do IE é 3 e o outro navegador é 7.
O símbolo em branco entre o nó é um nó de texto em outros navegadores, e o resultado é 7. Se se tornar assim,
Copie o código do código da seguinte forma:
<ul id = "myul"> <li> Primeiro </li> <li> Segundo </li> <li> Terceiro </li> </ul>
Dessa forma, os resultados de todos são 3.
14: Crie problemas de nó
Copie o código do código da seguinte forma:
// Adicionar elemento dinamicamente, todos os navegadores podem ser alcançados
var newNode = document.createElement ("input");
newnode.type = "Button";
newnode.value = "Sixth";
// pode ser realizado no ie
var newNode = document.createElement ("<tipo de entrada =/" botão/">">);
15: Ao proteger o clique direito, o Firefox é diferente de outros, no incidente do OncntextMenu.
16: Ao adicionar estilo e script dinamicamente, ou seja, e outros navegadores são diferentes. Verificação específica.
17: Para DOM2 e DOM3, a situação é mais complicada.