网站首页  汉语字词  英语词汇  考试资料  写作素材  旧版资料

请输入您要查询的考试资料:

 

标题 JavaScript常用脚本汇总(二)
内容
    本文给大家分享的javascript常用脚本有把JavaScript中的伪数组转换为真数组、JavaScript设置主页功能、JavaScript收藏功能、javascript检测元素是否支持某个属性代码、创建和使用命名空间,有需要的小伙伴们快来看看吧。
    把JavaScript中的伪数组转换为真数组
    在 JavaScript 中, 函数中的隐藏变量 arguments 和用 getElementsByTagName 获得的元素集合(NodeList)都不是真正的数组,不能使用 push 等方法,在有这种需要的时候只能先转换为真正的数组。
    对于 arguments,可以使用 Array.prototype.slice.call(arguments); 来达到转换的目的,但对于 NodeList 则不行了,其在 IE8 及以下将会报错,只能说其 JS 引擎有所限制。
    因此,如果需要把 NodeList 转换为真正的数组,则需要做下兼容处理。
    代码如下:
    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设置主页功能
    代码如下:
    <!DOCTYPE html>
    <html>
    <head>
    <title>JavaScript设置“设为首页”和“收藏页面”(兼容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("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 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("您的浏览器不支持自动自动设置首页,请使用浏览器菜单手动设置!");
    }
    }
    </script>
    </head>
    <body>
    <a onclick="setHomepage()" href="javascript:void(0);">设为首页</a>
    </body>
    </html>
    JavaScript收藏功能
    代码如下:
    <!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:;" id="fav">收藏本站</a>
    </body>
    </html>
    基于JQuery的,你可以根据自己的需求来修改。
    javascript检测元素是否支持某个属性代码
    代码如下:
    function elementSupportsAttribute(element, attribute) {
    var test = document.createElement(element);
    if (attribute in test) {
    return true;
    } else {
    return false;
    }
    };
    用法:
    代码如下:
    if (elementSupportsAttribute("textarea", "placeholder") {
    } else {
    // fallback
    }
    创建和使用命名空间
    代码如下:
    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]];
    }
    }
    使用方式
    代码如下:
    GLOBAL.namespace("Lang");
    GLOBAL.Lang.test = function(){
    //todo
    }
    以上就是本文的全部内容了,希望大家能够喜欢。
随便看

 

在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。

 

Copyright © 2002-2024 cuapp.net All Rights Reserved
更新时间:2025/5/19 0:07:34