贴下几个常用的js函数
1)判断浏览器类型和版本
- window[“MzBrowser”]={};(function()
- {
- if(MzBrowser.platform) return;
- var ua = window.navigator.userAgent;
- MzBrowser.platform = window.navigator.platform;
- MzBrowser.firefox = ua.indexOf(“Firefox”)>0;
- MzBrowser.opera = typeof(window.opera)==”object”;
- MzBrowser.ie = !MzBrowser.opera && ua.indexOf(“MSIE”)>0;
- MzBrowser.mozilla = window.navigator.product == “Gecko”;
- MzBrowser.netscape= window.navigator.vendor==”Netscape”;
- MzBrowser.safari = ua.indexOf(“Safari”)>-1;
- if(MzBrowser.firefox) var re = /Firefox(\s|\/)(\d+(\.\d+)?)/;
- else if(MzBrowser.ie) var re = /MSIE( )(\d+(\.\d+)?)/;
- else if(MzBrowser.opera) var re = /Opera(\s|\/)(\d+(\.\d+)?)/;
- else if(MzBrowser.netscape) var re = /Netscape(\s|\/)(\d+(\.\d+)?)/;
- else if(MzBrowser.safari) var re = /Version(\/)(\d+(\.\d+)?)/;
- else if(MzBrowser.mozilla) var re = /rv(\:)(\d+(\.\d+)?)/;
- if(“undefined”!=typeof(re)&&re.test(ua))
- MzBrowser.version = parseFloat(RegExp.$2);
- })();
可以通过alert(MzBrowser.ie)判断是否是ie浏览器
alert(MzBrowser.version)判断浏览器的版本
2)多个javascript函数绑定到onload事件处理函数
- function addLoadEvent(func){
- var oldonload=window.onload;
- if(typeof window.onload!=’function’){
- window.onload=func;
- }else{
- window.onload=function(){
- oldonload();
- func();
- }
- }
- }
接下来我们就可以这样引用了:
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);
…..
当然我们也可以这样实现:
window.onload=function(){
firstFunction();
secondFunction()
}
3)DOM提供了insertBefore()的方法,却没有提供insertAfter()的方法,不过不要紧的,我们可以这样实现:
- function insertAfter(newElement,targetElement){
- var parent=targetElement.parentNode;
- if(parent.lastChild==targetElement){
- parent.appendChild(newElement);
- }else{
- parent.insertBefore(newElement,targetElement.nextSibling);
- }
- }
参数newElement表示将插入的新元素,targetElement是新元素将被插入到它前面的去的目标元素
用法和insertBefore一样;
当然这里可以察觉到,缺少注释,但是一旦放进js脚本库,这些全部是要写的非常清楚的,这点我们可以向国外的高手学习学习,当然写注释也是非常有讲究的学问,陆续的我将不断的更新。
最新评论
写的挺好的
有没有兴趣翻译 impatient js? https://exploringjs.com/impatient-js/index.html
Flexbox playground is so great!
感谢总结。
awesome!
这个好像很早就看到类似的文章了
比其他的教程好太多了
柯理化讲的好模糊…没懂