Convertir les pseudo-arraines en javascript en vraies tableaux
Dans JavaScript, les arguments de variable cachés dans la fonction et l'ensemble d'éléments (nodelist) obtenus avec GetElementsByTagname ne sont pas des tableaux réels, et des méthodes telles que Push ne peuvent pas être utilisées. Lorsqu'il y a un tel besoin, ils ne peuvent être convertis en réalité que d'abord.
Pour les arguments, vous pouvez utiliser array.prototype.slice.call (arguments); Pour atteindre le but de la conversion, mais pour Nodelist, cela ne fonctionnera pas. Il rapportera une erreur dans IE8 et ci-dessous. On peut dire que son moteur JS a des restrictions.
Par conséquent, si vous devez convertir Nodelist en un vrai tableau, vous devez effectuer un processus de compatibilité vers le bas.
La copie de code est la suivante:
fonction realArray (c) {
essayer {
return array.prototype.slice.call (c);
} catch (e) {
var ret = [], i = 0, len = c.length;
pour (; i <len; i ++) {
ret [i] = (c [i]);
}
retour retour;
}
}
Fonction de page d'accueil de définition de la page d'accueil JavaScript
La copie de code est la suivante:
<! Doctype html>
<html>
<adal>
<Title> Paramètres JavaScript "Set As Home" et "Favoris" (Compatible avec IE et Firefox Browsers) </Title>
<meta charset = "utf-8">
<script type = "text / javascript">
fonction sethomePage () {
if (document.all) {
/ * Ie * /
document.body.style.behavior = 'url (# par défaut # homepage)';
document.body.sethomePage (Window.Location.href);
} else if (window.sidebar) {
/ * Ff * /
if (window.netscape) {
essayer {
netscape.security.privilegeManager.enablePrivilege ("UniversalXpConnect");
} catch (e) {
alert ("Cette opération est rejetée par le navigateur. Si vous souhaitez activer cette fonction, veuillez saisir: Config dans la barre d'adresse, puis entrez l'élément Signed.Applets.codeBase_Principal_Support Value to True");
}
}
var prefs = Components.classes ['@ mozilla.org/preference-service ;1'
prefs.Setcharpref ('Browser.startup.homePage', Window.Location.Href);
} autre {
/ * chrome ou autre * /
alert ("Votre navigateur ne prend pas en charge le paramètre automatique de la page d'accueil, veuillez utiliser le menu du navigateur pour le définir manuellement!");
}
}
</cript>
</ head>
<body>
<a onclick = "sethomePage ()" href = "javascript: void (0);"> Définir en tant que page d'accueil </a>
</docy>
</html>
Fonction de collecte JavaScript
La copie de code est la suivante:
<! Doctype html>
<html>
<adal>
<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 = fonction (l, h) {
return 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", "barre latérale");
t.attr ("titre", l);
t.attr ("href", h);
} autre {
alert ("Veuillez utiliser Ctrl + D pour ajouter cette page à vos favoris!");
}
});
};
$ (function () {
$ ('# fav'). addfavite (document.title, location.href);
});
</cript>
</ head>
<body>
<a href = "javascript:;" id = "fav"> Enregistrer ce site </a>
</docy>
</html>
Sur la base de jQuery, vous pouvez le modifier en fonction de vos besoins.
JavaScript détecte si un élément prend en charge un certain code d'attribut
La copie de code est la suivante:
fonction ElementsApportSAtTribute (élément, attribut) {
var test = document.CreateElement (élément);
if (attribut dans test) {
Retour Vrai;
} autre {
retourne false;
}
};
usage:
La copie de code est la suivante:
if (elementSupportSAtTribute ("textarea", "placeholder") {
} autre {
// retomber
}
Créer et utiliser des espaces de noms
La copie de code est la suivante:
var global = {};
Global.namespace = fonction (str) {
var arr = str.split ('.'), o = global;
pour (k = (arr [0] == "global")? 1: 0; k <arr.length; k ++) {
o [arr [k]] = o [arr [k]] || {};
o = o [arr [k]];
}
}
Comment utiliser
La copie de code est la suivante:
Global.namespace ("lang");
Global.lang.test = function () {
//faire
}
Ce qui précède est tout sur cet article, j'espère que vous l'aimez.