قم بتحويل المطبوعات الزائفة في JavaScript إلى صفائف حقيقية
في JavaScript ، فإن الوسائط المتغيرة المخفية في الوظيفة ومجموعة العناصر (Nodelist) التي تم الحصول عليها باستخدام GetElementsByTagname ليست صفائف حقيقية ، ولا يمكن استخدام طرق مثل الدفع. عندما تكون هناك حاجة مثل هذه ، لا يمكن تحويلها إلا إلى صفائف حقيقية أولاً.
بالنسبة للوسائط ، يمكنك استخدام Array.Prototype.slice.call (الوسائط) ؛ لتحقيق الغرض من التحويل ، ولكن بالنسبة إلى Nodelist ، لن ينجح. وسوف يبلغ عن خطأ في IE8 وتحت. يمكن القول فقط أن محرك JS لديه بعض القيود.
لذلك ، إذا كنت بحاجة إلى تحويل NodeList إلى صفيف حقيقي ، فأنت بحاجة إلى القيام بعملية توافق هابطة.
نسخة الكود كما يلي:
وظيفة realarray (c) {
يحاول {
return array.prototype.slice.call (c) ؛
} catch (e) {
var ret = [] ، i = 0 ، len = c.length ؛
لـ (؛ i <len ؛ i ++) {
ret [i] = (c [i]) ؛
}
العودة
}
}
وظيفة إعداد الصفحة الرئيسية JavaScript
نسخة الكود كما يلي:
<! doctype html>
<html>
<head>
<title> إعدادات JavaScript "SET as Home" و "Favorites" (متوافقة مع متصفحات IE و Firefox) </title>
<meta charset = "utf-8">
<script type = "text/javaScript">
وظيفة sethomepage () {
if (document.all) {
/*أي*/
document.body.style.behavior = 'url (#الافتراضي#الصفحة الرئيسية)' ؛
document.body.sethomePage (window.location.href) ؛
} آخر إذا (window.sideBar) {
/*ff*/
if (window.netscape) {
يحاول {
netscape.security.privilegemanager.EnablePrivilege ("UniversalxpConnect") ؛
} catch (e) {
تنبيه ("يتم رفض هذه العملية من قبل المتصفح. إذا كنت ترغب في تمكين هذه الوظيفة ، فيرجى الإدخال حول: تكوين في شريط العناوين ، ثم إدخال العنصر الموقّع.
}
}
var prefs = components.classes ['@mozilla.org/preferences-service ؛1'.getService(components.Interfaces.nsiprefbranch) ؛
prefs.setcharpref ('browser.startup.homepage' ، window.location.href) ؛
} آخر {
/*الكروم أو غيرها*/
تنبيه ("لا يدعم متصفحك الإعداد التلقائي للصفحة الرئيسية ، يرجى استخدام قائمة المتصفح لتعيينها يدويًا!") ؛
}
}
</script>
</head>
<body>
<a onclick = "sethomepage ()" href = "javaScript: void (0) ؛"> تعيين كصفحة منزلية </a>
</body>
</html>
وظيفة مجموعة JavaScript
نسخة الكود كما يلي:
<! doctype html>
<html>
<head>
<title> العرض التوضيحي </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) {
إرجاع this.click (function () {
var t = jQuery (هذا) ؛
if (jquery.browser.msie) {
window.external.addfavorite (H ، L) ؛
} آخر إذا (jquery.browser.mozilla || jquery.browser.opera) {
T.attr ("Rel" ، "الشريط الجانبي") ؛
T.attr ("title" ، l) ؛
T.attr ("Href" ، H) ؛
} آخر {
تنبيه ("يرجى استخدام Ctrl+D لإضافة هذه الصفحة إلى مفضلاتك!") ؛
}
}) ؛
} ؛
$ (function () {
$ ('#fav'). addFavite (document.title ، location.href) ؛
}) ؛
</script>
</head>
<body>
<a href = "javaScript :؛" id = "fav"> حفظ هذا الموقع </a>
</body>
</html>
بناءً على jQuery ، يمكنك تعديله وفقًا لاحتياجاتك.
يكتشف JavaScript ما إذا كان عنصر يدعم رمز سمة معين
نسخة الكود كما يلي:
وظيفة elementsupportSattribute (العنصر ، السمة) {
var test = document.createElement (element) ؛
إذا (سمة في الاختبار) {
العودة صحيح.
} آخر {
العودة كاذبة
}
} ؛
الاستخدام:
نسخة الكود كما يلي:
if (ElementSupportSattribute ("textarea" ، "legalelder") {
} آخر {
// احتياطي
}
إنشاء مساحات الأسماء واستخدامها
نسخة الكود كما يلي:
var global = {} ؛
global.namespace = function (str) {
var arr = str.split ('.') ، o = global ؛
لـ (k = (arr [0] == "Global")؟ 1: 0 ؛ k <arr.length ؛ k ++) {
o [arr [k]] = o [arr [k]] || {} ؛
o = o [arr [k]] ؛
}
}
كيفية استخدام
نسخة الكود كما يلي:
Global.NameSpace ("Lang") ؛
global.lang.test = function () {
// تودو
}
ما سبق هو كل شيء عن هذا المقال ، أتمنى أن تنال إعجابك.