JS和CSS的多浏览器兼容(3)
3.Javascript的浏览器兼容性问题
3.1 集合类对象问题
说明:IE下,可以使用()或[]获取集合类对象; Safari及Chrome下,只能使用[]获取集合类对象.
解决方法:统一使用[]获取集合类对象.
3.2 获取对象方式
说明:HTML对象的 id和name 在IE使用getElementById都会找到,在Safari及Chrome中name是找不到的,必须严格使用getElementById和getElementsByName.
解决方法:id使用getElementById, name使用getElementsByName,并要注意大小写
3.3 模态和非模态窗口问题
说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口; 在Chrome中是将其作为window.open方法处理,而且不能使用window.returnValue的方法返回值
解决方法:在Chrome中使用window.opener.returnValue=’value’的方法返回值, 打开窗体时用半透明DIV遮住页面主体,在其之上显示“对话框”内容。showModelessDialog 方可以使用 window.open 代替
例子:父窗体
|
<!DOCTYPE html> <html> <head> <title></title> <script type="text/javascript"> function openDialog() { //for chrome if (navigator.appName == "Netscape") { window.document.getElementById("winCover").style.display="block"; } var retValue = window.showModalDialog("dialog.html?temp=" + Math.random(), window, 'scroll=no;resizable=no;help=no;status=no;center=yes;dialogHeight=400px;dialogWidth=300px'); //for chrome if (retValue == undefined) { retValue = window.returnValue; } if (navigator.appName == "Netscape") { window.document.getElementById("winCover").style.display = "none"; } alert("return value: " + retValue); } </script> </head> <body style="height:100%"> <input type="button" onclick="javascript: openDialog();" value="Show Modal dialog"/> <div id="winCover" style="z-index:100; left:0px; top:0px; width:100%; height:100%; position:fixed; background-color:#e0e0e0; filter:Alpha(Opacity=60); opacity:0.6; display:none"></div> </body> </html> |
子窗体
|
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <script type="text/javascript"> function rt(s) { if (window.opener) { //for chrome window.opener.returnValue = s; window.close(); } else { window.returnValue = s; window.close(); } } </script> </head> <body> <input type="button" value="close" onclick="javascript: rt('abc');" /> </body> </html> |
3.4 event问题
说明:在IE下,可以直接在event中调用function,但是在Chrome中这样是无效的
解决方法:在function前统一加上”javascript:”,包括在服务器代码中addAttribute
例子:这样写在Chrome中无效
<input type="button" value="close" onclick="rt('abc');" />
应改为:
<input type="button" value="close" onclick="javascript: rt('abc');" />
JS和CSS的多浏览器兼容(3)的更多相关文章
- JS和CSS的多浏览器兼容(2)
2.Css的浏览器兼容性 方法一,根据不同的浏览器加载不同的css file <!DOCTYPE html> <html> <head> <title> ...
- JS和CSS的多浏览器兼容(1)
1.指定文件在IE浏览器中的兼容性模式 要为你的网页指定文件模式,需要在你的网页中使用meta元素放入X-UA-Compatible http-equiv 标头.以下是指定为Emulate IE7 m ...
- JS控制CSS3,添加浏览器兼容前缀
不同浏览器对于有些css3属性名字定义的时候,会带上特有的前缀,所以在css编写的时候,经常会一个属性写多个不同的前缀进行兼容.比如: div { transform: rotate(30deg); ...
- 浅谈CSS hack(浏览器兼容)
今天简单写一点关于浏览器兼容的处理方法,虽然百度上已经有很多,但是我还是要写! 先看一个图 这个图描述了2016年1月至8月网民们所使用的浏览器市场份额(来源:http://tongji.baidu. ...
- CSS在不同浏览器兼容问题,margin偏移/offset溢出等
margin在垂直取值时取最大值 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...
- 在不同的浏览器使用不同的css样式,解决浏览器兼容问题
区别IE6与FF: background:orange; *background:blue; 区别IE6与IE7: background:green !import ...
- 关于引用JS和CSS文件刷新浏览器缓存问题,部署服务器后客户端样式不刷新
问题描述 对样式的css文件进行了修改,部署到服务器后访问发现页面展示不正常,但是刷新之后就会展示正常. 问题分析 研究之后发现可能的原因有 css文件过大,加载缓慢 本地缓存问题,虽然服务器修改了c ...
- JS中常遇到的浏览器兼容问题和解决方法
今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上: 常遇到的关于浏览器的宽高问题: //以下均可console.log()实验 var winW=docu ...
- JS中常遇到的浏览器兼容问题和解决方法【转】
今天整理了一下浏览器对JS的兼容问题,希望能给你们带来帮助,我没想到的地方请留言给我,我再加上: 常遇到的关于浏览器的宽高问题: //以下均可console.log()实验 var winW=docu ...
随机推荐
- php sql分离
sql.php <?php $con = mysql_connect("localhost","root","root"); mysq ...
- WordPress小工具开发教程(网站公告)
WordPress小工具开发教程(网站公告) BY TIANQIXIN · 2012 年 12 月 26 日 wordpress主题小工具,可以自由拖动到侧边栏,并在前台实现相应功能!一般自带的小 ...
- python_列表
1. 列表的定义 (1) 用[]包含的元素,就是列表 (2)可以用list函数定义列表 2. 基本的列表操作(可参考示例) (1)元素赋值 (2)删除元素 (3)分片赋值 3. 列表方法 (1) ...
- Hello,HTML 到 HTML5
HTML5是WEB应用将发展到一个水平必要的技术. 下面是WEB发展的时间轴: 1991 - HTML 1994 - HTML2 1996 - CSS1 + JAVASCRIPT 1997 - HTM ...
- ios推送
1. ios 在杀掉app后,只能接受到系统通知,JPUSH自定义消息不能接受到.系统通知经过实验只能接收到50左右个汉字. 2. 实现方案: 推送的时候,JPUSH推送一个消息,App客户端获取到数 ...
- configure: error: C++ compiler cannot create executables
今天装虚拟机LNMP环境 安装报错:configure: error: C++ compiler cannot create executables 这是因为 gcc 组件不完整,执行安装 yum i ...
- ssh隧道技术
大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...
- time模块学习
时间三种形式: 1.timestamp 从1970-1-1 00:00到现在经历的秒数 2.string_time Sat Mar 28 22:24:24 2009 3.struct_time ...
- HTML_css样式表 样式属性 格式布局
CSS(Cascading Style Sheet,叠层样式表),作用是美化HTML网页. /*注释区域*/此为注释语法 一.样式表 (一)样式表的分类 1.内联样式表 和HTML联合显示,控制精确, ...
- mvc3在window 7 iis7下以及 xp iis 5.1下的部署 ,asp.net MVC3无法打开项目文件E:/我们的项目/Project/HeatingMIS.Web/HeatingMIS.Web.csproj”。此安装不支持该项目类型。
今天,小白来总结一下我在is上部署mvc3 .net 网站的时候的过程和遇到的问题. 其实,mvc的网站的部署跟平常的网站的部署都是一样的,只是下面有一些需要注意的地方. 1.应用程序池采用集成模式( ...