Converter pseudo-maiores em JavaScript em matrizes verdadeiras
No JavaScript, os argumentos variáveis ocultos na função e no conjunto de elementos (NodeList) obtidos com getSbyTagname não são matrizes reais, e métodos como push não podem ser usados. Quando há uma necessidade, eles só podem ser convertidos em matrizes reais primeiro.
Para argumentos, você pode usar o Array.prototype.slice.call (argumentos); Para alcançar o objetivo da conversão, mas para a Nodelist, não funcionará. Ele relatará um erro no IE8 e abaixo. Só se pode dizer que seu motor JS tem algumas restrições.
Portanto, se você precisar converter a lista de nodelas em uma matriz real, precisará fazer um processo de compatibilidade descendente.
A cópia do código é a seguinte:
função realArray (c) {
tentar {
return array.prototype.slice.call (c);
} catch (e) {
var ret = [], i = 0, len = c.Length;
para (; i <len; i ++) {
ret [i] = (c [i]);
}
retornar retorno;
}
}
JavaScript Configurando a função da página inicial
A cópia do código é a seguinte:
<! Doctype html>
<html>
<head>
<title> Configurações de JavaScript "Set como Home" e "Favoritos" (compatíveis com os navegadores do IE e do Firefox) </title>
<meta charset = "utf-8">
<script type = "text/javascript">
função sethomepage () {
if (document.all) {
/*Ie*/
document.body.style.behavior = 'url (#padrão#homepage)';
document.body.SethomePage (window.location.href);
} else if (window.sidebar) {
/*Ff*/
if (window.netscape) {
tentar {
Netscape.Security.privileGemanager.enablePrivilege ("UniversalxpConnect");
} catch (e) {
Alert ("Esta operação é rejeitada pelo navegador. Se você deseja ativar esta função, digite: Config na barra de endereços e digite o item assinado.applets.codebase_principal_support valor para true");
}
}
var prefs = components.classes ['@mozilla.org/preferences-service ;1'ation.getService(components.interfaces.nsiprefbranch);
prefs.SetcharPref ('Browser.Startup.homepage', window.location.href);
} outro {
/*Chrome ou outro*/
Alert ("Seu navegador não suporta configuração automática da página inicial, use o menu do navegador para defini -lo manualmente!");
}
}
</script>
</head>
<Body>
<a onclick = "sethomepage ()" href = "javascript: void (0);"> definido como página inicial </a>
</body>
</html>
Função de coleção JavaScript
A cópia do código é a seguinte:
<! Doctype html>
<html>
<head>
<title> demonstração </title>
<meta charset = "utf-8">
<script src = "// code.jquery.com/jquery-1.11.0.min.js"> </script>
<script src = "// code.jquery.com/jquery-migrate-1.2.1.min.js"> </script>
<script type = "text/javascript">
jQuery.fn.addfavorite = função (l, h) {
Retorne this.Click (function () {
var t = jQuery (this);
if (jQuery.browser.msie) {
window.external.addfavorite (H, L);
} else if (jquery.browser.mozilla || jQuery.browser.opera) {
t.attr ("rel", "barra lateral");
t.attr ("title", l);
t.attr ("href", h);
} outro {
alerta ("Use Ctrl+D para adicionar esta página aos seus favoritos!");
}
});
};
$ (function () {
$ ('#fav'). addfavite (document.title, location.href);
});
</script>
</head>
<Body>
<a href = "javascript:;" id = "fav"> salve este site </a>
</body>
</html>
Com base no jQuery, você pode modificá -lo de acordo com suas necessidades.
JavaScript detecta se um elemento suporta um determinado código de atributo
A cópia do código é a seguinte:
Função ElementsupportSattribute (elemento, atributo) {
var teste = document.createElement (elemento);
if (atributo no teste) {
retornar true;
} outro {
retornar falso;
}
};
uso:
A cópia do código é a seguinte:
if (elementsupportsattribute ("textarea", "espaço reservado") {
} outro {
// cair pra trás
}
Criar e usar namespaces
A cópia do código é a seguinte:
var global = {};
Global.namespace = function (str) {
var arr = str.split ('.'), o = global;
para (k = (arr [0] == "global")? 1: 0; k <arr.length; k ++) {
o [arr [k]] = o [arr [k]] || {};
o = o [arr [k]];
}
}
Como usar
A cópia do código é a seguinte:
Global.namespace ("lang");
Global.lang.test = function () {
//pendência
}
O exposto acima é tudo sobre este artigo, espero que gostem.