[转]javascript判断浏览器类型与版本
要想写出跨浏览器的javascript,就必须懂得嗅探技术。这是浏览器大战遗留下的大地雷,事已如此,只好认命,乖乖写分支结构吧,函数就是这样不知不觉中变长的。
先看单一浏览器的判断,我们没有必须去找navigator.userAgent的麻烦,我在国外的博客网站收集了如下hack,短小精悍:
ie = !+"\v1" ;
ie ='\v'=='v' ;
ie = 0//@cc_on+1;
ie = !!top.execScript;
ie = /*@cc_on!@*/!1;
ie8 = !!window.XDomainRequest;
//我自创的,如果是IE,会返回6,7,8代表ie6,ie7,ie8,否则返回1
IEVersion = (" " + (/*@cc_on @_jscript_version @*/-1)).slice(-1)
//基于条件编译的嗅探脚本,还有如下几个:
IE8=@cc_on @_jscript_version == 5.8 ? true : @false
IE7=@cc_on @_jscript_version == 5.7 ? true : @false
IE6=@cc_on @_jscript_version == 5.6 ? true : @false
IE55=@cc_on @_jscript_version == 5.5 ? true : @false
ff = /a/[-1]=='a';
ff3 = (function x(){})[-5]=='x';
ff2 = (function x(){})[-6]=='x';
safari=/a/.__proto__=='//';
safari = window.openDatabase;
chrome=/source/.test((/a/.toString+''));
opera=!!window.opera ;
opera=/^function (/.test([].sort);
还有判断maxthon的:
//出处:http://www.cnblogs.com/xiarugu/archive/2009/02/02/1382293.html
function IsMaxthon()
{
try{
window.external.max_invoke("GetHotKey");
return true;
}catch(ex){
return false;
}
}
alert(IsMaxthon());
//出处:http://bbs.maxthon.cn/archiver/?tid-148353.html
try{
if(external.max_version.indexOf("1.")==0){
var isMaxthon1 = 1;
}else{
var isMaxthon1 = 0;
}
}catch(e){
&
相关文档:
window
window对象是浏览器或者框架自身.top总是浏览器,parent是父框架,self表示自己.
window通常可以省略.
窗口操作: moveBy(dx, dy), moveTo(x, y),
resizeBy(dw, dh), resizeTo(w, h).
导航: window.open(url, frame
name, attribute). attribute可以是left, top, height, width, resizable,
scrollable, too ......
var sDate = new Date(Date.UTC(arys[0], arys[1] - 1, arys[2]));
var eDate = new Date(Date.UTC(arys1[0], arys1[1] - 1, arys1[2]));
......
JavaScript中的对象
关键词: JavaScript 对象 ......
介绍怎样解决JavaScript页面刷新与弹出窗口的问题。
1.无提示刷新网页
大家有没有发现,有些网页,刷新的时候,会弹出一个提示窗口,点“确定”才会刷新。
而有的页面不会提示,不弹出提示窗口,直接就刷新了.
如果页面没有form,则不会弹出提示窗口。如果页面有form表单,
a)< fo ......