首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编写兼容性JS代码

前文介绍了:  1 DOM四个常用的方法   2 使用DOM核心方法完成属性填充 本篇主要介绍在JS中需要注意的几个地方,另外为了减小html与javascript的耦合使用java进行onclick...其实javascript不是一门简单的语言,但是由于入门简单,很多人使用的时候,都是直接复制粘贴,导致网页中充斥着大量的冗余代码。   ...但是在编写合格的javascript代码时,需要注意:   1 平稳退化:保证在不支持js或者低版本的浏览器也能正常访问   2 分离javascript:把html与javascript分离,有助于后期代码的维护...  3 向后兼容性:确定老版本的浏览器不会因为脚本禁止而死掉   4 性能考虑:确定脚本执行的最优   编写优化的代码   针对前一篇中的相册的代码,这里主要修改的地方是把onclick方法删除,在页面加载时...,添加了很多的安全性检查和兼容性,另外一个就是优化onload方法。

3.2K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSS- ie6,ie7,ie8 兼容性写法,CSS hack写法

    css ie6,ie7,ie8 兼容性写法,CSS hack写法   margin-bottom:40px;       /*ff的属性*/ margin-bottom:140px\9;    /* IE6.../7/8的属性 */ color:red\0;              /* IE8支持 */ *margin-bottom:450px;     /*IE6/7的属性*/  +margin-bottom...color:#09F\0; /* IE8/9 */         color:#09F\0/; /* IE8 only */ } :root .test { color:#963\9; } /* IE9...首先我们说说firefox和IE对CSS的宽度显示有什么不同:    其实CSS ’width’ 指的是标准CSS中所指的width的宽度,在firefox中的宽度就是这个宽度。...第三招:垂直居中(仅只用于一行) 比如说一个高30px的div,问题默认是会显示在左上角,如果想垂直居中对其可以加个line-height:30px;样式。

    2.2K40

    js对cookie的操作

    cookie数据始终在同源的http请求中携带,他会在服务器和浏览器之间进行数据交互时进行来回传递。...对cookie不仅浏览器端可以进行操作,服务器端也可以进行操作,在这里只说一下浏览器端对于cookie的存取及删除操作。...我们发现cookie的存储方式是key=value; key=value的形式存储的,这里面全都是在有效期内的cookie。...获取cookie值 上面已经说过了document中存储cookie的形式了,而且过期的cookie不会出现在document.cookie中,这样我们在获取的时候只需要将其进行格式化即可: let getCookie...中没有数据,直接返回一个空数组 return []; } 删除cookie 删除cookie最简单的办法就是给cookie的过期时间设置一个过去的时间,让他过期就好: let removeCookie

    6.7K30

    ie11兼容性视图设置怎么能自动兼容_ie11兼容模式ie8

    ie11浏览器不兼容的解决办法 Edge浏览器已然成为最新win10系统的默认浏览器,但是用户量却远远不及IE11,IE11虽然性能得到了大的改进,但在浏览网页的时候还是会出现一些兼容性的问题,下面小编就讲为大家分享...方法一、添加受信任的站点 1、打开IE11浏览器, 点击浏览器右上角的“工具”选项,再选择“Internet选项”; 2、点击界面的上方的“安全”选项卡,然后点击“受信任的站点”; 3、点击“站点”...方法二、添加兼容性视图设置 1、打开IE11浏览器, 点击浏览器右上角的“工具”选项,再选择“兼容性视图设置”选项; 2、将该行网站添加到“兼容性视图中的网站”; 3、关闭IE11浏览器,重新登入。...方法四、禁用GPU硬件加速 如果用户的电脑是没有独立显卡的老机器,在用IE11观看优酷之类的在线视频时,会出现切换为全屏模式后当前视频就自动关闭的异常状况。...这是由于用户的集成显卡不支持硬件加速导致的,只要将当前的Flashplayer播放插件卸载,并安装10.2及以下版本即可解决。

    2.6K10

    小心onpropertychange在ie8上的地雷

    今天遇到一个很神奇的bug,网站上面有个表单提交的页面需要做是否离开此页的功能(就是如果修改了表单后未保存就离开这个页面),之前做这个功能的人为了方便就把input标签写成这样: js的时候,又加了一段: $(document).ready({ $("#a").bind('blur',function(d){....}); }); 然后就发现在ie8上面,没有修改表单也会出现提示...调试了一下,没有发现任何代码的错误。而且只有在ie8上才回重现这个bug。想想之前改过的那些操蛋的ie8的bug。我开始在ie8上面找问题。...onpropertychange的话,只要当前对象属性发生改变,都会触发事件,而且这个玩意是ie专属的 好吧,进入ie8的调试模式,发现页面在加载的时候顺便触发了#a的onpropertychange事件...于是我猜想是不是那段#a的blur代码影响了,将blur事件换乘οnblur=”ablur();”,居然真的好了 后面尝试了一下,原来ie8判断在js上为标签添加的事件都属于属性的变化,所以会触发onpropertychange

    90520

    解决css的ie浏览器各种兼容问题

    在进行网站开发过程中,IE是另很多程序员头疼的一个浏览器,他的版本兼容性很难调整,尤其是IE6,IE7,IE8,IE9,IE10这几个版本的区别有很大。现在百度与谷歌都有了一行解决这种兼容性的代码了。...Google Chrome Frame也可以让IE用上Chrome的引擎: 3.强制IE8使用...– IE5 mode –> 5.如果一个特定版本的IE支持所要求的兼容性模式多于一种,如: 当然如果服务器是自己的话,可以在服务器上定义一个自订标头来为它们的网站预设一个特定的文件兼容性模式。...另外还有一起其他的解决方案,例如google的 ie7 – js中是一个JavaScript库(解决IE与W3C标准的冲突的JS库),使微软的Internet Explorer的行为像一个Web标准兼容的浏览器

    2.1K20

    根据IE版本加载不同CSS样式的方法小结,解决低版本IE兼容问题

    今天再次收到微历史博主的留言,趁着这股折腾劲还没冷却,我决定今天抽时间把 IE 兼容性问题给搞定! ?...搜来搜去,网上给出大约有三种简单可行的方法: 一、最简单的方法就是在页面引入 css3-mediaqueries.js 插件解决兼容性问题; 经测试,发现此方法 IE8 是可以了,但是 IE7 还是有点局部问题...二、准备多个 CSS 样式表,通过 JS 判断 IE 版本来激活 CSS 样式表; 拿到网友给的源码,修改了半天才搞定!谁叫我是小白呢!...Ps:示例代码只判断了 IE7 IE8,可根据实际需要,再加上更多 IE 版本的判断。经过测试,这种方法有个弊端:页面载入是有一个缓冲时间内是乱排的,然后才会正常!这和 JS 的载入有关系。。。...IE8: ? 由于用的是 IETester 测试,不代表实际使用效果,具体有待实际验证。

    2.6K80

    JS魔法堂:浏览器模式和文档模式怎么玩?

    文档兼容性模式——IE8的新宠   “文档兼容性模式”是对“兼容模式”的扩展,就IE8而言,除了提供怪异模式(Quirks)和IE8标准模式外,还提供了IE7标准模式、模拟IE7模式,而且设置的方式也丰富得多...DOCTYPE>时,均采用浏览器版本对应的标准模式(如IE8就采用IE8标准模式,IE11就采用IE11标准模式)。  ...这样Jser还是使用IE10+的JS API,不用忍受IE5之苦;   3....其实我们只要再次明确一下“文档兼容性模式”的目的就好了,对终端用户来讲它是为了在新版IE中尽量正确地显示老网站;对开发者来讲它是为了方便调试新网站在旧版IE上的显示效果和JS的有效性,极端情况下会通过锁定文档模式来启用旧技术...(官方声IE9+不支持VML,但实际上IE8已经不支持了。)   若作为库或框架开发者,由于文档模式影响大部分JS API,而渲染模式影响各项样式值和获取方式等等,情况会复杂得多。

    2K80

    一行代码解决各种IE兼容问题,IE6,IE7,IE8,IE9,IE10

    如下面的例子,在IE8进行浏览时,将会使用IE7的标准模式进行渲染,因为他本身不支持IE9和IE10。...– IE5 mode –> 5.如果一个特定版本的IE支持所要求的兼容性模式多于一种,如: 二.设定网站服务器以指定预设兼容性模式 如果服务器是自己的话,可以在服务器上定义一个自订标头来为它们的网站预设一个特定的文件兼容性模式。...另外还有一起其他的解决方案,例如google的 ie7 – js中是一个JavaScript库(解决IE与W3C标准的冲突的JS库),使微软的Internet Explorer的行为像一个Web标准兼容的浏览器...[endif]–> 解决PNG显示问题 只需将透明png图片命名为*-trans.png 需要注意的是:此方法对背景平铺(background-repeat)和背景(background-position

    4K20

    原生JS与jQuery对AJAX的实现

    就是利用JS来无刷新与后端交互,通过get和post方式把数据发送到后端,或者请求后端的数据,然后根据请求的数据进行改变DOM节点等操作,从而取消掉用form的submit方式一提交就会跳转页面的情况,...像在创建账号的时候检测此用户名是否存在就是一个典型的案例,本文讲从原生JS和jQuery方面介绍AJAX的实现,跨域问题暂且不表。...二、原生JS实现AJAX 所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。...,data为请求时传递的数据,dataType为服务器返回的数据类型,success为请求成功的执行的回调函数,type为发送数据请求的方式,默认为get。...,获取服务器中的数组,并对获取的数据进行解析,显示在页面中,它的调用格式为: $.getJSON(url,[data],[callback]) 可以与$.each搭配来遍历数据 $.getJSON("

    3K20

    Selenium2+python自动化65-js定位几种方法总结

    前言 本篇总结了几种js常用的定位元素方法,并用js点击按钮,对input输入框输入文本 一、以下总结了5种js定位的方法 除了id是定位到的是单个element元素对象,其它的都是elements返回的是...通过标签名选取元素 document.getElementsByTagName(“tag”) 4.通过CLASS类选取元素 document.getElementsByClassName(“class”) 兼容性...:IE8及其以下版本的浏览器未实现getElementsByClassName方法 5.通过CSS选择器选取元素 document.querySelectorAll(“css selector") 兼容性...:IE8及其以下版本的浏览器只支持CSS2标准的选择器语法 二、id定位 1.定位博客首页的管理按钮:id="blog_nav_contact" ?...2.js的定位语法里面id定位获取的是单个元素对象,可以直接用click()方法点击元素 ?

    1.3K70

    我对JS延迟异步脚本的思考

    关于对延迟脚本的思考 async和defer属性的脚本,相信大家都听说过,但是他的真正执行细节是什么样子的?.../common3.js"> 以上7个脚本文件,其中common开头为非异步延迟脚本,其余的都指定了延迟脚本的模式,分为async和defer两种 通过document.createElement...创建的标签插入默认为async模式 开始实验 image.png 我一共写了2个async和2个defer标签,其它的都是普通标签.其中async1.js里面有4000行代码,其它都是一个console.log...他们都会在浏览器load事件前执行,但是不保证是在DomContentLoad事件前还是后执行 defer肯定在async后面执行,从我的实验结果和书上对它们对解析来看 影响多个异步脚本的执行顺序因素...应该考虑什么场景才使用,而不是滥用它 写在最后 纸上得来终觉浅,欲知此事要躬行,我写得也不一定对,如果你有问题或者更好的答案可以在下面参与讨论,我始终认为有争议和反对的声音是好事

    1.2K21
    领券