Convertir pseudo-arrays en JavaScript a matrices verdaderas
En JavaScript, los argumentos variables ocultos en la función y el conjunto de elementos (Nodelist) obtenido con GetElementsByTagName no son matrices reales, y no se pueden usar métodos como Push. Cuando hay tal necesidad, solo se pueden convertir en matrices reales primero.
Para los argumentos, puede usar array.prototype.slice.call (argumentos); Para lograr el propósito de la conversión, pero para Nodelist, no funcionará. Informará un error en IE8 y debajo. Solo se puede decir que su motor JS tiene algunas restricciones.
Por lo tanto, si necesita convertir Nodelist en una matriz real, debe hacer un proceso de compatibilidad hacia abajo.
La copia del código es la siguiente:
función realArray (c) {
intentar {
return array.prototype.slice.call (c);
} catch (e) {
var ret = [], i = 0, len = c.length;
para (; i <len; i ++) {
ret [i] = (c [i]);
}
regreso de regreso;
}
}
JavaScript Configuración de la función de página de inicio
La copia del código es la siguiente:
<! Doctype html>
<html>
<Evista>
<title> JavaScript Settings "Set como Inicio" y "Favoritos" (compatible con IE y Browsers de Firefox) </title>
<meta charset = "utf-8">
<script type = "text/javaScript">
función sethomepage () {
if (document.all) {
/*ES DECIR*/
document.body.style.behavior = 'url (#predeterminado#homePage)';
document.body.sethomepage (window.location.href);
} else if (window.sidebar) {
/*Ff*/
if (window.netscape) {
intentar {
netscape.security.privilegemanager.enablePrivilege ("universalxpconnect");
} catch (e) {
alerta ("Esta operación es rechazada por el navegador. Si desea habilitar esta función, ingrese sobre: Configurar en la barra de direcciones e ingrese el elemento firmado.applets.codebase_principal_support valor a verdadero");
}
}
var prefs = componentes.classes ['@mozilla.org/preferences-service;1''font>.getService(Components.Interfaces.nsiprefBranch);
prefs.setcharpref ('browser.startup.homepage', window.location.href);
} demás {
/*Chrome u otro*/
alerta ("Su navegador no admite la configuración automática de la página de inicio, ¡use el menú del navegador para configurarlo manualmente!");
}
}
</script>
</ablo>
<Body>
<a onClick = "sethomepage ()" href = "javascript: void (0);"> establecido como página de inicio </a>
</body>
</html>
Función de colección de JavaScript
La copia del código es la siguiente:
<! Doctype html>
<html>
<Evista>
<title> demo </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 = function (l, h) {
devuelve this.click (function () {
var t = jQuery (esto);
if (jQuery.browser.msie) {
Window.External.addfavorite (H, L);
} else if (jQuery.browser.mozilla || jQuery.browser.opera) {
T.Attr ("Rel", "Barra lateral");
T.Attr ("Título", L);
t.Attr ("href", h);
} demás {
alerta ("¡Utilice CTRL+D para agregar esta página a sus favoritos!");
}
});
};
$ (function () {
$ ('#fav'). addfavite (document.title, ubicación.href);
});
</script>
</ablo>
<Body>
<a href = "javascript :;" id = "fav"> Guardar este sitio </a>
</body>
</html>
Según JQuery, puede modificarlo de acuerdo con sus necesidades.
JavaScript detecta si un elemento admite un cierto código de atributo
La copia del código es la siguiente:
función ElementsUpportSAttribute (elemento, atributo) {
var test = document.createElement (elemento);
if (atributo en test) {
devolver verdadero;
} demás {
devolver falso;
}
};
uso:
La copia del código es la siguiente:
if (ElementsUpportSAttribute ("TextArea", "Posición de position") {
} demás {
// retroceder
}
Crear y usar espacios de nombres
La copia del código es la siguiente:
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]];
}
}
Cómo usar
La copia del código es la siguiente:
Global.namespace ("lang");
Global.lang.test = function () {
//hacer
}
Lo anterior se trata de este artículo, espero que les guste.