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' : '';
	}
}

相关文章推荐

s2javascript小小技巧

  • 2010年04月30日 14:18
  • 2KB
  • 下载

JavaScript强化教程 —— Cocos2d-JS极速调试技巧

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— Cocos2d-JS极速调试技巧   本文教大家一个调试Cocos2d-JS的小技巧,我都是这...

韩顺平_轻松搞定网页设计(html+css+javascript)_第23讲_js三大流程控制(顺序流程、分支控制、循环控制)_js调式技巧_学习笔记_源代码图解_PPT文档整理

文西马龙:http://blog.csdn.net/wenximalong/ js基本语法——三大流程控制 循环控制 听其名而知其意,就是让你的代码可以循环的执行。 案例: 编写一个程序...

javascript技巧整理(3)

21、原生JavaScript中有insertBefore方法,可惜却没有insertAfter方法?用如下函数实现 function insertAfter(newChild,refChild){...

javascript技巧整理(1)

1、javascript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn =...

JavaScript常用技巧( 个人整理:复习备忘)

JavaScript的数据类型都有什么? 基本数据类型:String,boolean,Number,Undefined, Null 引用数据类型:Object(Array,Date,RegExp,...

整理几个月的收获--(2)Django框架 各种小技巧

1. charge_count = Charges.objects.filter(bill_month=bill_month, \ charge_type__in=charge_ty...

三、深入Javascript(2)_看智能社blue老师JS视频整理的笔记

数组 1、定义数组的2种写法: (1)var a=[1,2,3];  (2)var a=new Array(1,2,3); 这两种方法作用一样,一般用第1种就可以,因为它写起来简单,所有性能略高。 ...

【知识整理】javascript基础语法总结(2)——数据类型转换和运算符

一.数据类型转换:(js是弱类型编程语言);    1.声明变量时,不用考虑变量中将要存储的数据类型;    2. 赋值时,由系统自动动态判断数据的类型;(注:因为是动态判断同一个变量,先后可保存不同...

kettle转换中使用javascript例子整理(2)

7(重) JavaScript -dialog.ktr(需要调用Java代码,有界面) // This JavaScript asks for a start and e...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript技巧整理(2)
举报原因:
原因补充:

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