国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript常用腳本匯總(二)

2024-05-06 16:16:07
字體:
供稿:網(wǎng)友
本文給大家分享的javascript常用腳本有把JavaScript中的偽數(shù)組轉(zhuǎn)換為真數(shù)組、JavaScript設(shè)置主頁功能、JavaScript收藏功能、javascript檢測元素是否支持某個屬性代碼、創(chuàng)建和使用命名空間,有需要的小伙伴們快來看看吧。
 

把JavaScript中的偽數(shù)組轉(zhuǎn)換為真數(shù)組

在 JavaScript 中, 函數(shù)中的隱藏變量 arguments 和用 getElementsByTagName 獲得的元素集合(NodeList)都不是真正的數(shù)組,不能使用 push 等方法,在有這種需要的時候只能先轉(zhuǎn)換為真正的數(shù)組。

對于 arguments,可以使用 Array.prototype.slice.call(arguments); 來達(dá)到轉(zhuǎn)換的目的,但對于 NodeList 則不行了,其在 IE8 及以下將會報錯,只能說其 JS 引擎有所限制。

因此,如果需要把 NodeList 轉(zhuǎn)換為真正的數(shù)組,則需要做下兼容處理。

 

復(fù)制代碼代碼如下:

function realArray(c) {
    try {
        return Array.prototype.slice.call(c);
    } catch (e) {
        var ret = [], i = 0, len = c.length;
        for (; i < len; i++) {
            ret[i] = (c[i]);
        }
        return ret;
    }
}

 

JavaScript設(shè)置主頁功能

 

復(fù)制代碼代碼如下:

<!DOCTYPE html>
<html>
<head>
    <title>JavaScript設(shè)置“設(shè)為首頁”和“收藏頁面”(兼容IE和火狐瀏覽器)</title>
    <meta charset="utf-8">
    <script type="text/javascript">
        function setHomepage() {
            if (document.all) {
                /*IE*/
                document.body.style.behavior = 'url(#default#homepage)';
                document.body.setHomePage(window.location.href);
            } else if (window.sidebar) {
                /*FF*/
                if (window.netscape) {
                    try {
                        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
                    } catch (e) {
                        alert("該操作被瀏覽器拒絕,如果想啟用該功能,請在地址欄內(nèi)輸入 about:config,然后將項 signed.applets.codebase_principal_support值該為true");
                    }
                }
                var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
                prefs.setCharPref('browser.startup.homepage', window.location.href);
            } else {
                /*chrome或者其他*/
                alert("您的瀏覽器不支持自動自動設(shè)置首頁,請使用瀏覽器菜單手動設(shè)置!");
            }
        }
    </script>
</head>
<body>
    <a onclick="setHomepage()" style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;"> 復(fù)制代碼代碼如下:

<!DOCTYPE html>
<html>
<head>
    <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) {
            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", "sidebar");
                    t.attr("title", l);
                    t.attr("href", h);
                } else {
                    alert("請使用Ctrl+D將本頁加入收藏夾!");
                }
            });
        };
        $(function(){
            $('#fav').addFavorite(document.title,location.href);
        });
    </script>
</head>
<body>
    <a href="javascript:;" style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;"> 復(fù)制代碼代碼如下:

function elementSupportsAttribute(element, attribute) {
  var test = document.createElement(element);
  if (attribute in test) {
    return true;
  } else {
    return false;
  }
};

 

用法:

 

復(fù)制代碼代碼如下:

if (elementSupportsAttribute("textarea", "placeholder") {
} else {
   // fallback
}

 

創(chuàng)建和使用命名空間

 

復(fù)制代碼代碼如下:

var GLOBAL = {};
GLOBAL.namespace = function(str){
var arr = str.split('.'),o = GLOBAL;
for(k=(arr[0]=="GLOBAL")?1:0;k<arr.length;k++){
    o[arr[k]]=o[arr[k]]||{};
    o=o[arr[k]];
    }
}

 

使用方式

 

復(fù)制代碼代碼如下:

GLOBAL.namespace("Lang");
GLOBAL.Lang.test = function(){
    //todo
}

 

以上就是本文的全部內(nèi)容了,希望大家能夠喜歡。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 遂宁市| 钦州市| 汝城县| 泗洪县| 留坝县| 海原县| 谢通门县| 中超| 靖安县| 乐陵市| 岚皋县| 平罗县| 滦平县| 阿荣旗| 保定市| 达拉特旗| 辽宁省| 金乡县| 梁河县| 若尔盖县| 金山区| 岱山县| 台南县| 年辖:市辖区| 外汇| 淮阳县| 昌吉市| 疏附县| 岫岩| 洪江市| 改则县| 廉江市| 八宿县| 青冈县| 拜城县| 呼和浩特市| 独山县| 阜新市| 隆尧县| 饶河县| 寿阳县|