javascript技巧整理(2)

转载 2013年12月02日 19:11:07
11、原生JavaScript加入收藏夹

function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle)
    } catch(e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "")
        } catch(e) {
            alert("加入收藏失败,请使用Ctrl+D进行添加")
        }
    }
}


12、原生JavaScript设为首页

function setHomepage() {
    if (document.all) {
        document.body.style.behavior = 'url(#default#homepage)';
        document.body.setHomePage('http://www.jq-school.com')
    } else if (window.sidebar) {
        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', 'http://www.jq-school.com')
    }
}



13、原生JavaScript判断IE6

var ua = navigator.userAgent.toLowerCase();
var isIE6 = ua.indexOf("msie 6") > -1;
if (isIE6) {
    try {
        document.execCommand("BackgroundImageCache", false, true)
    } catch(e) {}
}



14、原生JavaScript加载样式文件

function LoadStyle(url) {
    try {
        document.createStyleSheet(url)
    } catch(e) {
        var cssLink = document.createElement('link');
        cssLink.rel = 'stylesheet';
        cssLink.type = 'text/css';
        cssLink.href = url;
        var head = document.getElementsByTagName('head')[0];
        head.appendChild(cssLink)
    }
}


15、原生JavaScript返回脚本内容

function evalscript(s) {
	if(s.indexOf('<script') == -1) return s;
	var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
	var arr = [];
	while(arr = p.exec(s)) {
		var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
		var arr1 = [];
		arr1 = p1.exec(arr[0]);
		if(arr1) {
			appendscript(arr1[1], '', arr1[2], arr1[3]);
		} else {
			p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
			arr1 = p1.exec(arr[0]);
			appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
		}
	}
	return s;
}


16、原生JavaScript清除脚本内容

function stripscript(s) {
	return s.replace(/<script.*?>.*?<\/script>/ig, '');
}


17、原生JavaScript动态加载脚本文件

function appendscript(src, text, reload, charset) {
	var id = hash(src + text);
	if(!reload && in_array(id, evalscripts)) return;
	if(reload && $(id)) {
		$(id).parentNode.removeChild($(id));
	}

	evalscripts.push(id);
	var scriptNode = document.createElement("script");
	scriptNode.type = "text/javascript";
	scriptNode.id = id;
	scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);
	try {
		if(src) {
			scriptNode.src = src;
			scriptNode.onloadDone = false;
			scriptNode.onload = function () {
				scriptNode.onloadDone = true;
				JSLOADED[src] = 1;
			};
			scriptNode.onreadystatechange = function () {
				if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {
					scriptNode.onloadDone = true;
					JSLOADED[src] = 1;
				}
			};
		} else if(text){
			scriptNode.text = text;
		}
		document.getElementsByTagName('head')[0].appendChild(scriptNode);
	} catch(e) {}
}


18、原生JavaScript返回按ID检索的元素对象

function $(id) {
	return !id ? null : document.getElementById(id);
}


19、原生JavaScript返回浏览器版本内容

function browserVersion(types) {
	var other = 1;
	for(i in types) {
		var v = types[i] ? types[i] : i;
		if(USERAGENT.indexOf(v) != -1) {
			var re = new RegExp(v + '(\\/|\\s)([\\d\\.]+)', 'ig');
			var matches = re.exec(USERAGENT);
			var ver = matches != null ? matches[2] : 0;
			other = ver !== 0 && v != 'mozilla' ? 0 : other;
		}else {
			var ver = 0;
		}
		eval('BROWSER.' + i + '= ver');
	}
	BROWSER.other = other;
}


20、原生JavaScript元素显示的通用方法

function $(id) {
	return !id ? null : document.getElementById(id);
}
function display(id) {
	var obj = $(id);
	if(obj.style.visibility) {
		obj.style.visibility = obj.style.visibility == 'visible' ? 'hidden' : 'visible';
	} else {
		obj.style.display = obj.style.display == '' ? 'none' : '';
	}
}

电脑文件整理思路

1.        整理5步走: 整理(Seiri)、整顿(Seiton)、清扫(Seiso)、清洁(Seiketsu)、素养(Shitsuke) 文件架构 → 区别文件→ 定期归档 → 每日整理...
  • xuesiyuan
  • xuesiyuan
  • 2015年01月18日 21:18
  • 720

前端JavaScript面试技巧全套

第1章 课程简介 从几个常见面试开始,讨论针对一个题目的分析思路,总结题目对应的知识点。最后列出所有 JS 知识点的集合 —— JS 知识体系框架。 第2章 JS基础知识(上) 讲解 J...
  • zhangye19920611
  • zhangye19920611
  • 2017年12月09日 16:37
  • 233

eclipse快速代码整理技巧

你是否还在为自己的代码不整齐而烦恼?     你是否还在整理代码上花了很多时间?     今天就告诉你们一个技巧!!!     你只需在eclipse的导航栏找到Source后选择For...
  • DFA_LHT
  • DFA_LHT
  • 2018年01月26日 14:30
  • 52

为java程序员整理的面试、编码、技巧、资源总结

1面试篇: 最有价值的50道java面试题 适用于准入职Java程序员 拿百度offer的三面经历 直击Java程序员阿里5轮B2B面试现场:我是如何突出重围的 程序员简历应该怎么写?...
  • huaieli1
  • huaieli1
  • 2017年11月20日 21:49
  • 114

慕课网:Web前端面试题目及答案汇总

HTML/CSS部分 1、什么是盒子模型? 在网页中,一个元素占有空间的大小由几个部分构成,其中包括元素的内容(content),元素的内边距(padding),元素的边框(border),元...
  • dongyang0311
  • dongyang0311
  • 2016年06月29日 14:44
  • 11618

javascript技巧整理(1)

1、javascript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn =...
  • yuluo727282752
  • yuluo727282752
  • 2013年12月02日 19:10
  • 382

javascript技巧整理(3)

21、原生JavaScript中有insertBefore方法,可惜却没有insertAfter方法?用如下函数实现 function insertAfter(newChild,refChild){...
  • yuluo727282752
  • yuluo727282752
  • 2013年12月02日 19:12
  • 310

JavaScript奇淫技巧(一)

if-else简化写法 代码中若出现多层if-else嵌套,代码就会显得臃肿不堪,这时可采用替代方案来浓缩代码。...
  • u010425776
  • u010425776
  • 2016年10月29日 20:21
  • 1372

Intellij IDEA使用技巧整理

代码自动补全(live templates)IDEA中代码自动补全在IDEA中通过”快捷键+TAB”实现代码自动补全。 比如System.out.println(“”);,在IDEA中可以sout ...
  • linchaolong
  • linchaolong
  • 2015年09月05日 12:18
  • 24651

JavaScript高级技巧

下述内容主要讲述了《JavaScript高级程序设计(第3版)》第22章关于“高级技巧”。 一、高级函数函数是第一等公民,所有函数都是对象。1. 安全的类型检测JavaScript内置的类型检测机制并...
  • ligang2585116
  • ligang2585116
  • 2016年05月05日 21:13
  • 6228
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript技巧整理(2)
举报原因:
原因补充:

(最多只允许输入30个字)