把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()" title="设为首页" href="javascript:void(0);">设为首页</a>
</body>
</html>
JavaScript收藏功能
复制代码 代码如下:
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<meta charset="utf-8">
<script src="/UploadFiles/2021-04-02/jquery-1.11.0.min.js">
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js">
<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:;" title="收藏本站" 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")"codetitle">复制代码 代码如下:
GLOBAL.namespace("Lang");
GLOBAL.Lang.test = function(){
//todo
}
以上就是本文的全部内容了,希望大家能够喜欢。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 【雨果唱片】中国管弦乐《鹿回头》WAV
- APM亚流新世代《一起冒险》[FLAC/分轨][106.77MB]
- 崔健《飞狗》律冻文化[WAV+CUE][1.1G]
- 罗志祥《舞状元 (Explicit)》[320K/MP3][66.77MB]
- 尤雅.1997-幽雅精粹2CD【南方】【WAV+CUE】
- 张惠妹.2007-STAR(引进版)【EMI百代】【WAV+CUE】
- 群星.2008-LOVE情歌集VOL.8【正东】【WAV+CUE】
- 罗志祥《舞状元 (Explicit)》[FLAC/分轨][360.76MB]
- Tank《我不伟大,至少我能改变我。》[320K/MP3][160.41MB]
- Tank《我不伟大,至少我能改变我。》[FLAC/分轨][236.89MB]
- CD圣经推荐-夏韶声《谙2》SACD-ISO
- 钟镇涛-《百分百钟镇涛》首批限量版SACD-ISO
- 群星《继续微笑致敬许冠杰》[低速原抓WAV+CUE]
- 潘秀琼.2003-国语难忘金曲珍藏集【皇星全音】【WAV+CUE】
- 林东松.1997-2039玫瑰事件【宝丽金】【WAV+CUE】