代码如下:function addBookmark(title,url) { if (window.sidebar) { window.sidebar.addPanel(title, url,""); } else if( document.all ) { window.external.AddFavorite( url, title); } else if( window.opera && window.print ) { return true; } }
代码如下://获取元素的位置 function getLeft(obj) { if (obj == null) return null; var mendingObj = obj; var mendingLeft = mendingObj.offsetLeft; while (mendingObj != null && mendingObj.offsetParent != null && mendingObj.offsetParent.tagName != "BODY") { mendingLeft = mendingLeft + mendingObj.offsetParent.offsetLeft; mendingObj = mendingObj.offsetParent; } return mendingLeft; }; function getTop(obj) ...
代码如下:$(function(){ document.oncontextmenu=function(){return false;}//屏蔽右键 document.onmousemove=mouseMove;//记录鼠标位置 }); var mx=0,my=0; function mouseMove(ev){Ev=ev||window.event;var mousePos=mouseCoords(Ev);mx=mousePos.x;my=mousePos.y;} function mouseCoords(ev){ if(ev.pageX||ev.pageY){return{x:ev.pageX,y:ev.pageY};} return{x:ev.clientX,y:ev.clientY+$(document).scrollTop()}; } $.fn.exte...
并不一定全,有的也可能不准确,比如新出的IE8、 Chrome等都没有太多涉及,虽然最近做的一些项目也兼容了IE8、Chrome等,但都没来的及总结进去,后来就忘了...汗。大家一起慢慢完善吧。javascript部分1. document.form.item 问题问题:代码中存在 document.formName.item("itemName") 这样的语句,不能在FF下运行解决方法:改用 document.formName.elements["elementName"]2. 集合类对象问题问 题:代码中许多集合类对象取用时使用...
判断是否按下的为回车非常简单: 代码如下: function EnterPress(){ if(event.keyCode == 13){ ... } } IE6的onkeypress会接受"回车事件",而onkeydown不会接受 IE8的onkeypress不会接受"回车事件",而onkeydown会接受 ...不用纠结于此,两个都写上吧 代码如下: 但是,到了FF下面,又会出现矛盾.FF是onkeypress和onkeydown都接受"回车事件"的. 同时,为了兼容FF下面能获得event,需要这样写: 代码如下: function EnterPress(e){ //传...
屏幕的有效宽高: window.screen.availHeightwindow.screen.availWidth网页可见区域宽:document.body.clientWidth 网页可见区域高:document.body.clientHeight 网页可见区域宽:document.body.offsetWidth (包括边线的宽) 网页可见区域高:document.body.offsetHeight (包括边线的宽) 网页正文全文宽:document.body.scrollWidth 网页正文全文高:document.body.scrollHeight 网页被卷去的高:document.body.scrollTop 网页被卷去...
浏览器报找不到console对象,那我们就手动构造一个接口完全一致的console对象 置于window中。这里采用了空方法和空对象。如此一来即使在很old的浏览器中,含有console.xxxxx的代码依然不会报错,完美运行。 下面附上修复兼容代码,要置于置于第一句console.xxxx调用之前,否则没有意义。 代码如下:(function (){ //创建空console对象,避免JS报错 if(!window.console) window.console = {}; var console = window.console...
一、document.formName.item(”itemName”) 问题 问题说明:IE下,可以使用 document.formName.item(”itemName”) 或 document.formName.elements["elementName"];Firefox下,只能使用document.formName.elements["elementName"]。 解决方法:统一使用document.formName.elements["elementName"]。 二、集合类对象问题 问题说明:IE下,可以使用 () 或 [] 获取集合类对象;Firefox下,只能使用 [ ]获取集合类对象。 解决方法:统...
1.ModalDialog是什么?showModalDialog是jswindow对象的一个方法,和window.open一样都是打开一个新的页面。区别是:showModalDialog打开子窗口后,父窗口就不能获取焦点了(也就是无法操作了)。可以在子窗口中通过设置window.returnValue的值,让父窗口可以获取这个returnvalue. 2.一个例子1)主窗口main.html,2)在主窗口中通过showModalDialog的方式打开子窗口sub.html3)在子窗口中设置returnValue返回给主窗口使用 main.html 代...
如果可以回到过去的话,我会告诉自己这句话:"初学JavaScript的时候无视DOM和BOM的兼容性" 我初学时的处境 在我初学JavaScript的时候最头痛的就是浏览器兼容问题。在Firefox下面好好的代码放到IE就不能显示了,又或者是在IE能正常显示的代码在firefox又报错了。 前端开发工程师的职责就包括跨浏览器开发。所以我就在还不了解JS这门语言本身的时候去花时间学习浏览器兼容知识,这样会让JS学习难度增加。但是不能兼容主流浏...
1. window.event 【分析说明】先看一段代码代码如下:function et(){ alert(event);//IE: [object]}以上代码在IE运行的结果是[object],而在Firefox无法运行。因为在IE中event作为window对象的一个属性可以直接使用,但是在Firefox中却使用了W3C的模型,它是通过传参的方法来传播事件的,也就是说你需要为你的函数提供一个事件响应的接口。 【兼容处理】添加对event判断,根据浏览器的不同来得到正确的event:代码如下:function et(...
placeholder是HTML5的属性之一,在不同的浏览器( 支持HTML5的现代浏览器 )中会有略微不同的显示效果: 在Chrome( v31.0.1650.63 m)、Firefox( v21.0 )、360安全( v6.3 极速模式 )中,输入栏获得焦点后,提示文字并不消失,如图( Chrome ): 获得焦点前:获得焦点时:偏偏IE11要搞点特殊: 获得焦点前:获得焦点时:也就是说获得焦点时提示的文字会消失。 非现代浏览器( 例如 IE6-IE9 )是不支持placeholder属性的。现在用jQuery来使...
判断是否IE浏览器用的是window.navigator.userAgent,跟踪这个信息,发现在开发环境,识别为IE10,但访问服务器则识别为IE11,但IE11的userAgent里是没有MSIE标志的,原因就是这个了。把判断IE浏览器的方法改成如下就可以了。function isIE() { //ieif (!!window.ActiveXObject || "ActiveXObject" in window)return true;elsereturn false;}下面是一些分享,大家可以看下,很实用的分析解说 在很多时候,我们一般采用navigator.us...
一、元素查找问题 1. document.all[name](1)现有问题:Firefox不支持document.all[name](2)解决方法:使用getElementsByName(name),getElementById(id)等来替代。 2. 集合类对象问题(1)现有问题:IE中对许多集合类对象取用时可以用 (),但在Firefox只能用[]。如:IE中可以使用document.forms("formName")来返回名字为"formName"的Form,但在Firefox却行不通。(2)解决方法:使用[],上例中可以改为document.forms["formName"] 3. H...
在做js测试的时候用到了startsWith函数,但是他并不是每个浏览器都有的,所以我们一般要重写一下这个函数,具体的用法可以稍微总结一下 在有些浏览器中他是undefined 所以我们可以这样的处理一下、if (typeof String.prototype.startsWith != function) {String.prototype.startsWith = function (prefix){return this.slice(0, prefix.length) === prefix;}; } 这个需要放在页面刚要加载完成的函数里,不然不好使。 还有一种直接重...