IE和Firefox兼容
- 格式:doc
- 大小:34.50 KB
- 文档页数:7
一、在火狐浏览器中需满足如下条件:
1.JRE和火狐浏览器设置
1、火狐浏览器版本必须为13~16版本的,不能用17或更高的版本;
否则无法设置登录参数;
2、Jre需为1.7.0_17及以上版本;
选中浏览器的默认Java为Mozilla系列;
选中启用下一代Java插件;
3、开启java插件;
工具-附加组件-如下2个插件设置为可用(看到的是“禁用”按钮)。
4、开启操作本地文件的设置:
在地址栏输入about:config,然后修改signed.applets.codebase_principal_support的键值,将值修改为true。
5、重启火狐浏览器
2.访问系统时的设置
1、在登录系统后浏览器弹出提示窗口时,
勾选“不再对此应用程序显示此消息”,并选择“运行”
2、如果软电话未自动登录成功,需手动点击“设置”,在窗口中设置完毕并点击“保存”
按钮后,软电话自动登录:
二、在IE浏览器中需满足如下条件:
1、Jre需为1.6.0_10及以上版本;
2、其他配置参见原IE浏览器设置;。
对几款浏览器兼容性的测试分析摘要:浏览器(browser)是web系统中的核心构件,当前的主流浏览器包括ie、firefox、chrome、safari等。
这些常用浏览器对一般网页的兼容性各有不同,甚至同一种浏览器的不同版本对网页的兼容也不一样。
因此对主流浏览器的兼容性进行测试并分析出不兼容的主要原因,从而进一步提出相应的解决方法是网页设计人员面临的一项重要课题。
关键词:网页;兼容;浏览器;测试中图分类号:tp393.092 文献标识码:a 文章编号:1007-9599 (2012)18-0000-021 引言浏览器是web服务的客户端软件,它可以向web服务器发送各种请求,如http、ftp等,并对从服务器发来的超文本信息和各种媒体数据格式进行解释、显示和播放。
在当前互联网广泛渗入到人们工作、生活、娱乐等方方面面的今天,浏览器已成为人们上网时最常用的客户端程序。
浏览器主要是借助http协议与网站服务器的交互作用,而获取到网页,这些网页在http协议下是由url来指定的,这些网页的文件格式一般表示为html,并由mime在http协议中指明。
我们知道,一个网页中可以包括多个格式的文件或文档,且每个文件文档都是从服务器来分别获得的。
现在,大多数网站浏览器是能支持各种图像格式和文本格式的,例如除了支持html格式之外,还支持jpeg、png、gif等图像格式,并且能够扩展支持众多的网页插件(plug-ins),有的浏览器还支持url类型的格式,以及相关联的协议,例如https(http协议的加密版本)、ftp、gopher等。
在个人电脑上常用的网页浏览器,现在是越来越多样了,例如mozilla 的firefox、微软的internet explorer、apple的safari等,还有opera、google chrome、greenbrowser浏览器、360安全浏览器、搜狗浏览器、腾讯tt、傲游浏览器、百度浏览器等。
使⽤TestNG进⾏浏览器(IE、Chrome、FireFox)并发兼容性测试Web测试项⽬中经常会进⾏浏览器兼容性相关的测试⼯作,⽽兼容性测试的⼯作重复性相当⾼,这⾥TestNG提供了并发执⾏执⾏测试⽤例的功能,可以让测试⽤例以并发的形式执⾏,实现并发测试不同浏览器的兼容性测试需求。
这⾥以IE、Chrome、FireFox浏览器结合TestNGINX以并发⽅式进⾏浏览器访问为例(IE、Chrome、Firefox调⽤⽅式请参考之前的博客)测试代码:package com.testng.browser;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.WebElement;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.ie.InternetExplorerDriver;import org.testng.Assert;import org.testng.annotations.AfterClass;import org.testng.annotations.BeforeClass;import org.testng.annotations.Parameters;import org.testng.annotations.Test;public class MultipleBrowserSearchTest {public WebDriver driver;String baseUrl = "/";@Parameters("browser")@BeforeClasspublic void beforeTest(String Browser){if(Browser.equalsIgnoreCase("firefox")){System.setProperty("webdriver.firefox.bin", "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe");driver = new FirefoxDriver();//设置浏览器为全屏模式driver.manage().window().maximize();}else if(Browser.equalsIgnoreCase("ie")){System.setProperty("webdriver.ie.driver", "C:\\Program Files\\Internet Explorer\\IEDriverServer.exe");//设置IE浏览器默认存储位置driver = new InternetExplorerDriver();//设置浏览器为全屏模式driver.manage().window().maximize();}else{//锟⽄拷锟矫⾕⾰拷锟⽄拷锟⽄拷锟侥 拷洗娲⑽伙拷锟�System.setProperty("webdriver.chrome.driver", "D:\\BaiduNetdiskDownload\\Chrome\\chromedriver.exe");driver = new ChromeDriver();//锟⽄拷锟⽄拷锟⽄拷锟⽄拷锟轿 拷锟侥J�driver.manage().window().maximize();}}@Testpublic void testSearch() {driver.get(baseUrl);WebElement inputBox = driver.findElement(By.id("query"));Assert.assertTrue(inputBox.isDisplayed());inputBox.sendKeys("光荣之路⾃动化测试");//单击搜素按钮driver.findElement(By.id("stb")).click();try {Thread.sleep(3000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}Assert.assertTrue(driver.getPageSource().contains("光荣之路"));}@AfterClasspublic void afterTest() {//退出浏览器driver.quit();}}testng.xml⽂件的配置内容如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "/testng-1.0.dtd"><suite name="Suite" parallel="tests" thread-count="3"><!-- ⽕狐浏览器 --><test name="FirefoxTest"><parameter name="browser" value="firefox"></parameter><classes><class name="com.testng.webdriver.MultipleBrowserSearchTest"/></classes></test><!-- IE浏览器 --><test name="IETest"><parameter name="browser" value="ie"></parameter><classes><class name="com.testng.webdriver.MultipleBrowserSearchTest"></class></classes></test><!-- ⾕歌浏览器 --><test name="ChromeTest"><parameter name="browser" value="chrome"></parameter><classes><class name="com.testng.webdriver.MultipleBrowserSearchTest"></class></classes></test></suite>运⾏结果:在运⾏过程中,可以看到系统同时弹出了IE、Chrome、FireFox的浏览器窗⼝,并在这3个窗⼝中运⾏测试脚本中定义的操作步骤,实现了浏览器的并发测试。
IE6,IE7,IE8,Firefox等浏览器兼容的css hack一、开发平台的选择我很幸运, 我接触网页前台的时候Firefox2 已经十分红火, 我的所有工作都是在Firefox 上展开, 同时兼容其他浏览器的. 这样做肯定会比在IE 做好再到别的浏览器兼容来得容易, 因为IE 对老标准支持还是很不错的, 而IE 的一些特有功能人家却不支持. 所以我推荐以Firefox 结合Firebug 扩展作为平台.在解决兼容方法上,想定出一个统一的规范,个人认为应该以下面3点为基本原则:权衡成本:在浏览器被淘汰后,如何快速清理掉无用代码可维护:在资源成本和完美间平衡的向后兼容可读:省力、易记二、Hack 的顺序使用Firefox 作为平台, 只要代码写得够标准, 其实要Hack 的地方不会很多的, IE 以外的浏览器几乎都不会有问题, 所以可以暂时忽略,顺序如下:Firefox -> IE8 -> IE7 -> IE6 -> 其他三、CSS 选择器Hack/* Opera */@media all and (-webkit-min-device-pixel-ratio:10000), not all and(-webkit-min-device-pixel-ratio:0){head~body .sofish{display:block;}}这种写法的优缺点是:优点:全面,各种HACK都有;清理无用代码里易认缺点:选择器名称不易记;代码量多(要重复写选择器)四、CSS 属性Hack.sofish{padding:10px;padding:9px\9; /* all ie */padding:8px\0; /* ie8-9 */*padding:5px; /* ie6-7 */+padding:7px; /* ie7 */_padding:6px; /* ie6 */}这种写法的优缺点是:优点:易记;代码少缺点:不全面五、IE 注释<!--[if IE]>IE only<![endif]--><!--[if !IE]>NOT IE<![endif]-->这种写法的优缺点是:优点:安全;向后兼容好;易维护缺点:用不好会增加HTTP请求;用得好代码又多六、浏览器探测:JS/后端程序判断// 以jQuery为例,检测是否是IE6,是则加上class="ie6" if ($.browser.msie && $.browser.version = 6 ){ $('div').addClass('ie6');}这种写法的优缺点是:优点:全面;易维护;可读性高缺点:占资源;代码量大(要重写选择器)总结:-----------------1、尽量使用单独HACK这样维护起来成本比较低,改动不会影响其他的浏览器,而一旦有浏览器淘汰,只要搜索关键字,就可以批量去掉这些代码。
JS复制内容到剪贴板: 兼容IE、Firefox、Chrome、Safari所有浏览器正文:现在浏览器种类也越来越多,诸如 IE、Firefox、Chrome、Safari等等,因此现在要实现一个js复制内容到剪贴板的小功能就不是一件那么容易的事了。
在FLASH 9 时代,有一个通杀所有浏览器的js复制内容到剪贴板的方案:这个方案是一个最流行的方法: 著名的Clipboard Copy解决方案利用一个clipboard.swf作为桥梁,复制内容到剪贴板。
原理是:创建一个隐藏的flash文件,同时给给flash的变量FlashVars 赋值“clipboard=..”,通过这个赋值flash就会把复制的内容放到剪贴板。
这个方法兼容IE、Firefox、Opera、chrome、 Safari,真可谓“万能”的解决方案。
浏览器Flash的安装率非常高,这几乎是一个完美的解决方案。
clipboard.swf 的下载地址:_clipboard.rar.rar但是 Flash 10 时代,上面的方法已经不行了。
因为flash10中规定了只有在swf上进行了真实的操作(比如鼠标点击)才能访问剪切板,而上述方法只是使用了一个隐藏的swf文件,通过javascript操作flash的剪贴板,用户并没有对swf文件进行真实的操作,因此这个方法也就失效了。
那么如何解决这个“真实操作”的问题呢?可以使用一个JavaScript库:Zero Clipboard,利用这个js库可以支持利用flash 10 实现复制到剪贴板。
这个方法原理是在一个透明的flash(对用户来说是不可见的)上覆盖一个dom元素比如button或div,当点击这个dom时,实际点击的是flash,从而访问flash的剪贴板。
飘易提供的例子下载:zeroclipboard.rar调试时请上传到网站,本地直接打开flash会出错的,没权限。
zeroClipboard.js文件里moviePath属性是falsh的地址,就是目录下的那个ZeroClipboard.swf存放的地址位置。
小知识:什么是CSS hack?由于不同的浏览器,比如IE6、IE7、IE8、Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的页面效果。
这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。
这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。
各浏览器CSS hack兼容表:代码示例:#test{color:red; /* 所有浏览器都支持*/color:red !important;/* Firefox、IE7支持*/_color:red; /* IE6支持*/*color:red; /* IE6、IE7支持*/*+color:red; /* IE7支持*/color:red\9; /* IE6、IE7、IE8支持*/color:red\0; /* IE8支持*/}body:nth-of-type(1) p{color:red;} /* Chrome、Safari支持*/整体测试代码示例:.test{color:#000000;color:#0000FF\0;[color:#00FF00;*color:#FFFF00;_color:#FF0000;}其他说明:1、如果你的页面对IE7兼容没有问题,又不想大量修改现有代码,同时又能在IE8中正常使用,微软声称,开发商仅需要在目前兼容IE7的网站上添加一行代码即可解决问题,此代码如下:<meta http-equiv=”x-ua-compatible” content=”ie=7″ />2、body:nth-of-type(1) 如果这样写,表示全局查找body,将会对应第一个<body>。
3、还有其他写法,比如:*html #test{}或者*+html #test{}4、*+html 对IE7的hack 必须保证HTML顶部有如下声明:/TR/html4/loose.dtd5、顺序:Firefox、IE8、IE7、IE6依次排列。
Shuo de——中国金融数据及工具首席服务商IE、FF、Safari、OP不同浏览器兼容报告柯伯勋2011-03-08上海万得资讯科技有限公司Shanghai Wind Information Co., Ltd.地址: 上海浦东新区福山路33号建工大厦9楼邮编Zip : 200120电话T el : (8621)6886 2280传真Fax : (8621)6886 2281Email : sales@主页:1浏览器内核简介浏览器最重要或者说核心的部分是“Rendering Engine”,可大概译为“解释引擎”,不过我们一般习惯将之称为“浏览器内核”。
负责对网页语法的解释(如HTML、JavaScript)并渲染(显示)网页。
所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。
不同的浏览器内核对网页编写语法的解释也有不同,因此同一网页在不同的内核的浏览器里的渲染(显示)效果也可能不同,这也是网页编写者需要在不同内核的浏览器中测试网页显示效果的原因。
浏览器内核很多,如果加上所有的几乎没有什么人在用的非商业的免费内核,那么可能大约有10款以上甚至更多,不过通常我们比较常见的大约只有以下四种,下面先简单介绍一下。
1.1Trident:IE浏览器使用的内核,该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来的,并沿用到目前的IE8。
Trident实际上是一款开放的内核,其接口内核设计的相当成熟,因此才有许多采用IE内核而非IE的浏览器涌现(如Maxthon、The World 、TT、GreenBrowser、AvantBrowser等)。
此外,为了方便也有很多人直接简称其为IE内核(当然也不排除有部分人是因为不知道内核名称而只好如此说)。
由于IE本身的“垄断性”(虽然名义上IE并非垄断,但实际上,特别是从Windows 95年代一直到XP初期,就市场占有率来说IE的确借助Windows的东风处于“垄断”的地位)而使得Trident内核的长期一家独大,微软很长时间都并没有更新Trident内核,这导致了两个后果——一是Trident内核曾经几乎与W3C标准脱节(2005年),二是Trident内核的大量Bug等安全性问题没有得到及时解决,然后加上一些致力于开源的开发者和一些学者们公开自己认为IE浏览器不安全的观点,也有很多用户转向了其他浏览器,Firefox和Opera就是这个时候兴起的。
兼,是什么!你会想到是什么,作为一个跟HMTL+CSS打交道的人来说,我只能说,我想到的只有兼容性了,兼容性自始至终困惑着许多人,例如坑爹的IE,是纵多主流浏览器中比较戳的那一个,因BUG手下纵多而闻名,家族几代问题层出不穷。
最坑爹的那个就是IE6,被纵多开发人员包括前端人员所憎恶。
却受许多企业的爱戴。
顺便说一下为什么IE6还在中国活得好好的,IE6是Windows XP中自带的一种浏览器,而Windows XP目前来说是微软开发得比较好也是比较成功的系统,使用人数多。
IE6的稳定性也比较好,目前,大多数企业特别是银行和政府的系统还是使用IE6而不愿升级也是有这方面的原因,IE6之所以盛行当然不只这一些原因,至少IE6什么时候会死那只是时间的问题罢了,在没死之前,我们得保证我们能活着。
好了,接下来来看一下一些兼容性的问题吧,这里只列出数项,日后继续完善。
1.注释引起的血案(1)在注释的时候,如果注释不当,部分浏览器会将会解析错误。
(demo1)如:<!-- 这里是注释内容-->正常显示;<!-- 这里是注释内容- ->时则在IE浏览器下正常显示,在Chrome、Firefox、Safari下不可显示。
或者->也是如此。
解决方法:在进行注释时切记不要着急,看好是否注释有问题,最好能够用VS中自带的注释,以保万无一失。
详见demo1。
(2)注释引发的血案(demo11)文字溢出:问题见demo11,test1:去掉<div style=”float:left;”></div> 中的“float:left”,就会发现多出来的字不见了,页面正常显示;同样去除<div style=”width:350px;float:right;”>中的“float:right”,多余的字也同样消失,页面正常显示。
分析:文字溢出与区块的浮动有关。
test2:把注释放到<div style=”float:left”></div>前面,多余的字消失,页面正常显示把注释放到<div style=”width:350px;float:right;”>我就只有一行字</div>后面,多余的字也同样消失,页面正常显示。
浏览器兼容问题及解决⽅案 所谓的浏览器兼容性问题,是指因为不同的浏览器对同⼀段代码有不同的解析,造成页⾯显⽰效果不统⼀的情况。
在⼤多数情况下,我们的需求是,⽆论⽤户⽤什么浏览器来查看我们的⽹站或者登陆我们的系统,都应该是统⼀的显⽰效果。
所以浏览器的兼容性问题是前端开发⼈员经常会碰到和必须要解决的问题。
浏览器最关键的部分就是它的渲染引擎(Rendering Engine),也就是⼤家平常所说的的“内核”。
市场上浏览器种类很多,不同浏览器的内核也不尽相同,所以各个浏览器对⽹页的解析存在⼀定的差异。
常见的浏览器内核代表有五种,分别是Trident、Gecko、Blink、Webkit、Presto 。
他们代表的浏览器是:Trident:IE、Maxthon(遨游)、腾讯、Theworld世界之窗、360浏览器;Gecko:代表作品Mozilla Firefox 是开源的,它的最⼤优势是跨平台,能在Microsoft Windows、Linux和MacOS X等主要操作系统上运⾏;Webkit :代表作品Safari、Chrome ,是⼀个开源项⽬;Presto :代表作品Opera ,Presto是由Opera Software开发的浏览器排版引擎。
它也是世界上公认的渲染速度最快的引擎;Blink :由Google和Opera Software开发的浏览器排版引擎,2013年4⽉发布。
下⾯介绍⼀些常见的浏览器兼容问题及解决⽅案。
1、不同浏览器的标签默认的外补丁和内补丁不同解决⽅案: css ⾥增加通配符 * { margin: 0; padding: 0; }。
2、IE6双边距问题;在 IE6中设置了float , 同时⼜设置margin , 就会出现边距问题解决⽅案:设置display:inline;3、当标签的⾼度设置⼩于10px,在IE6、IE7中会超出⾃⼰设置的⾼度解决⽅案:超出⾼度的标签设置overflow:hidden,或者设置line-height的值⼩于你的设置⾼度4、图⽚默认有间距解决⽅案:使⽤float 为img 布局。
IE火狐浏览器兼容问题大全1.最简单的鼠标移过手变型的css要改了cursor:pointer;/*Firefox不支持cursor:hand*/ dw8下面自动出来的也没有hand这个属性了,标准的是pointer2.Firefox不支持滤镜最常见的半透明不支持。
filter: Alpha(Opacity=50); /* for IE */opacity: .5;/* for Firefox */style="-moz-opacity:0.5; filter:alpha(opacity=50);cursor:hand;"onmouseover="this.style.MozOpacity=1;this.filters.alpha.opacity=100" onmouseout="this.style.MozOpacity=0.5;this.filters.alpha.opacity=50"3.Firefox不支持expression 例如去掉链接的边框要分别写不同的cssa,area { blr:expression(this.onFocus=this.blur()) } /* for IE */:focus { outline: none; } /* for Firefox */4.Firefox不支持div滚动条的颜色设置,目前还没有找到替换的好方法。
.contendiv {position: absolute; left: 0px; top: 10px; width: 580px;height: 135px;line-height:120%;text-align:left; font-family:"宋体";word-break : break-all; color:#6D6E71; OVERFLOW-Y:auto;OVERFLOW-X:no;SCROLLBAR-ARROW-COLOR: red; SCROLLBAR-TRACK-COLOR:F6F6F6;SCROLLBAR-FACE-COLOR:#F6F6F6;SCROLLBAR-SHADOW-COLOR:#F6F6 F6;SCROLLBAR-DARKSHADOW-COLOR:#F6F6F6;SCROLLBAR-3DLIGHT-COLOR:#F6F6F6;SCROLLBAR-HIGHLIGHT-COLOR:#F6F6F6;}这个在Firefox里面完全没有效果了。
IE浏览器和火狐浏览器兼容问题.txt22真诚是美酒,年份越久越醇香浓型;真诚是焰火,在高处绽放才愈是美丽;真诚是鲜花,送之于人手有余香。
一颗孤独的心需要爱的滋润;一颗冰冷的心需要友谊的温暖;一颗绝望的心需要力量的托慰;一颗苍白的心需要真诚的帮助;一颗充满戒备关闭的门是多么需要真诚这一把钥匙打开呀!IE浏览器和火狐浏览器兼容问题——CSS篇一、css+div 样式IE与FF兼容问题汇总IE和火狐的css兼容性问题归总CSS对浏览器器的兼容性具有很高的价值,通常情况下IE和火狐浏览器存在很大的解析差异,这里介绍一下兼容要点。
1、DOCTYPE 影响CSS 处理2、FF: div 设置margin-left, margin-right 为auto 时已经居中, IE 不行3、FF: body 设置text-align 时, div 需要设置margin: auto(主要是margin-left,margin-right) 方可居中4、FF: 设置padding 后, div 会增加height 和width, 但IE 不会, 故需要用!important 多设一个height 和width5、FF: 支持!important, IE 则忽略, 可用!important 为FF 特别设置样式,值得注意的是,一定要将xxxx !important 这句放置在另一句之上6、div 的垂直居中问题: vertical-align:middle; 将行距增加到和整个DIV一样高line-height:200px; 然后插入文字,就垂直居中了。
缺点是要控制内容不要换行7、cursor: pointer 可以同时在IE FF 中显示游标手指状,hand 仅IE 可以8、FF: 链接加边框和背景色,需设置display: block, 同时设置float: left 保证不换行。
参照menubar, 给 a 和menubar 设置高度是为了避免底边显示错位, 若不设height, 可以在menubar 中插入一个空格。
Windows系统下各浏览器常用CSS HACK汇总表1. 此汇总表中测试浏览器的版本为:微软系统自带:IE6、 IE7、IE8火狐:Firefox 3.6.6Safari:Safari 5.0谷歌浏览器:Chrome 6.0.458.1 devOpera浏览器:Opera 10.602. 其中,多数CSS hack是在selector{property:value;}基础上更改的。
selector代表CSS选择器,property代表CSS特性,value代表特性的值。
3. FF代表Firefox,Ch代表Chorme,Sa代表Safari,Op代表Opera4. Q代表Quirks Mode,S代表Standards Mode。
5. Hack Type列的数字,指的是上面CSS hack的实现方式中的列表号。
1是指“利用浏览器对相同代码的解析和支持的不同实现的hack”,2是指以Firefox或Webkit特有的扩展样式实现的hack。
一定遵守CSS hack的三条原则。
CSS hack是没有办法的时候才使用的解决兼容性问题的招术,是用兼容性问题去解决兼容性问题,无异于饮鸩止渴。
切莫一有兼容性问题就使用,时刻记得改掉用CSS hack修补的问题。
IE6、IE7、IE8、Firefox兼容性CSS HACK代码+示例1.区别IE和非IE浏览器CSS HACK代码#divcss5{background:blue; /*非IE 背景藍色*/background:red \9; /*IE6、IE7、IE8背景紅色*/}2.区别IE6,IE7,IE8,FF CSS HACK【区别符号】:「\9」、「*」、「_」【示例】:#divcss5{background:blue; /*Firefox 背景变蓝色*/background:red \9; /*IE8 背景变红色*/*background:black; /*IE7 背景变黑色*/_background:orange; /*IE6 背景变橘色*/}【说明】:因为IE系列浏览器可读「\9」,而IE6和IE7可读「*」(米字号),另外IE6可辨识「_」(底线),因此可以依照顺序写下来,就会让浏览器正确的读取到自己看得懂得CSS语法,所以就可以有效区分IE各版本和非IE浏览器(像是Firefox、Opera、Google Chrome、Safari等)。
无行贿犯罪承诺书
本人郑重声明,我(姓名)_________保证自己在的任何时间点和情况下不会参与任何行贿犯罪活动。
我意识到行贿犯罪对个人、团体和社会造成的损害,并深知行贿犯罪的道德、法律和社会影响。
我郑重承诺:
1. 我将以诚信和公正的原则为准则,绝不以金钱、物质或其他非法手段来获得不正当的利益或影响他人的决策。
2. 我将遵守国家法律法规和公司、组织的规定,对于任何行贿行为,我将主动举报,并不参与其中。
3. 我将积极加强自身的道德修养和职业操守,增强自己对行贿犯罪的认识和抵制能力。
4. 我将积极参与反腐败教育和宣传活动,向他人分享反腐败的知识和经验,共同宣传反行贿犯罪的价值。
5. 在我发现他人参与行贿犯罪活动的情况下,我将积极配合调查机关进行调查,并提供必要的证据和线索。
6. 我将密切关注反腐败工作的进展,支持并参与不同层面的反腐败工作,共同维护社会的公正和廉洁。
本人郑重承诺以上内容,一旦违反本承诺,愿意承担法律和道德上的责任。
如有违反上述承诺的行为,本人愿意接受法律制裁,并承担由此产生的一切后果和损失。
本承诺书有效期为永久有效。
查看文章zzdiv+css - Firefox和IE浏览器兼容问题 - padding-right在IE6下导致抖动2008-01-11 1733由于IE6的盒模型计算缺陷,padding-right在特定的情况会下导致抖动。
[出现抖动的代码]最近在写一个Div+Css布局的网站首页,以前写的页面都统一width900px;不存在什么布局呀什么float的设置。
现在没办法呀!要对页面进行切割,分块。
幸好,有点css的基础,不过用起来就比较郁闷了。
在ie和firefox下,相同的属性值往往会有不同的显示效果。
没办法要兼容浏览器只得一个一个bug去找。
但完全兼容浏览器是无法做到的,所以也只能将个大概的效果展示出来,不要偏差太大太明显就行。
首先,需要提出的是float这个浮动属性,这是div+css布局的关键所在。
floatleft;floatright;是常用的浮动属性。
为了使div能在一行排列,不得补用到它们。
呵呵!不就是个float吗?这有什么好提的,要浮动我就float一下呀。
哎!话是这么说,但真正用到时却出问题了。
在ie下,只要前一个div有floatleft;后面的div宽度不超过(总body的宽度)-(前一个div的宽度),后面的div就自动浮动,并排列在同一行。
ie和firefox 下,这点效果是一样。
好,接着往下,下一行也这样布局,就分两栏吧。
style type=textcss#div1{}{width200px;height80px;floatleft;border1px solid blue;}#div2{}{width600px;height80px;border1px solid blue;}styledivdiv id=div1divdiv id=div2divdivdiv style=clearboth;margin-top20px; id=div3div这样的布局,在ie下和火狐下的显示效果就不同了在firefox下的margin-top20px;没效果。
CSS过滤器兼容ie,⽕狐和⾕歌这篇汇总主要是提供⼀些CSS不透明的详细介绍,代码⽰例和解释,以实现这项有⽤的CSS技术在您的项⽬中兼容所有浏览器。
关于CSS 透明度,有⼀点需要注意的是,它虽然使⽤了很多年,但它⼀直以来都不是⼀个标准属性。
它是⼀种⾮标准技术,应该是CSS3规范的⼀部分。
1. 旧的Opacity设置 以下代码是Firefox和Safari旧版本所需的透明度设置:#myElement { -khtml-opacity: .5; -moz-opacity: 0.5; } -khtml-opacity设置是针对旧版本的Webkit渲染引擎,这种专⽤属性现在已经过时了,除⾮你还有需要兼容Safari 1.x.的⽤户。
第⼆⾏使⽤专⽤属性 -moz-opacity是为了兼容Mozilla渲染引擎的早期版本,以及追溯到Netscape Navigator。
Firefox 0.9以后就不要求使⽤-moz-opacity属性,Firefox 3.5(现在使⽤Gecko引擎)已经不在⽀持这个属性。
2. 在Firefox, Safari, Chrome和Opera下的CSS透明度 以下代码是除了IE外的所有当前浏览器的最简单,最最新的不透明度设置的CSS语法:#myElement { opacity: .7; } 上述语法将设置⼀个元素为70%不透明(或30%透明)。
设置opacity:1将使元素不透明,⽽设置opacity:0将使得元素完全不可见。
你只要记住“opacity”等同于“不透明”就很容易记住了,opacity值越⼩就越接近透明。
opacity属性可以精确地⼩数点后两位,所以值取“.01”和“.02”实际上是不同的,虽然可见度很难被发觉。
⼀般情况下,精确到⼀位就可以了,取值如“.3”或“.7”。
3. IE下的CSS透明度 IE下照旧有别于其他浏览器,并且⽬前也有三个不同版本的IE在⼴泛使⽤,透明度设置是不同的,有时需要额外的CSS来控制:#myElement { filter: alpha(opacity=40); } 上⾯的CSS使⽤专⽤的filter属性来设置IE6-8透明度。
兼容模式设置方法兼容模式是一种在网络浏览器中使用的特殊模式,用于运行过时或不符合标准规范的网页。
这种模式允许旧版网页在新版浏览器中仍能正确显示,并且与新版网页并存。
在早期使用兼容模式的时候,主要是因为存在很多采用旧的网页代码设计的网站,这些网站可能无法在新版浏览器中正常显示。
为了解决这个问题,浏览器引入了兼容模式,它可以模拟旧版的浏览器行为来正确的显示这些旧版网站。
在新版浏览器中设置兼容模式的方法有很多种,具体取决于所使用的浏览器类型及版本。
以下是几种常见浏览器中设置兼容模式的方法:1. Internet Explorer浏览器:- 在浏览器菜单栏中选择“工具”。
- 在下拉菜单中选择“Internet选项”。
- 在弹出窗口的顶部选择“高级”选项卡。
- 在“设置”区域中找到“浏览器模式”和“文档模式”。
- 在两个下拉框中可以选择所需的兼容模式。
2. Microsoft Edge浏览器:- 在浏览器地址栏中输入"edge:flags"并按回车键进入实验模式。
- 在搜索框中输入"Document Mode",找到“Enable Document Mode”选项。
- 选择所需的兼容模式,如"IE10"或"IE11"。
- 点击“重启浏览器”按钮使设置生效。
3. Google Chrome浏览器:- 在浏览器地址栏中输入"chrome:flags"并按回车键进入实验模式。
- 在搜索框中输入"Document Mode",找到“Enable Document Mode”选项。
- 选择所需的兼容模式。
- 重新启动Chrome浏览器以使设置生效。
4. Mozilla Firefox浏览器:- 在浏览器地址栏中输入"about:config"并按回车键进入配置页面。
- 在搜索框中输入"compat",找到“dom.webidlpatibility_mode.enabled”选项。
如何解决ie与⽕狐的兼容问题如何解决ie与⽕狐的兼容问题1.document.form.item问题(1)现有问题:现有代码中存在许多document.formName.item("itemName")这样的语句,不能在Firefox(⽕狐)下运⾏(2)解决⽅法:改⽤document.formName.elements["elementName"]2.集合类对象问题(1)现有问题:现有代码中许多集合类对象取⽤时使⽤(),IE能接受,Firefox(⽕狐)不能。
(2)解决⽅法:改⽤[]作为下标运算。
如:⼜如:3.window.event(1)现有问题:使⽤window.event⽆法在⽕狐浏览器上运⾏(2)解决⽅法:⽕狐的event只能在事件发⽣的现场使⽤,此问题暂⽆法解决。
可以这样变通:原代码(可在IE中运⾏):新代码(可在IE和⽕狐中运⾏):此外,如果新代码中第⼀⾏不改,与⽼代码⼀样的话(即gotoSubmit调⽤没有给参数),则仍然只能在IE中运⾏,但不会出错。
所以,这种⽅案tpl部分仍与⽼代码兼容。
4.HTML对象的id作为对象名的问题(1)现有问题在IE中,HTML对象的ID可以作为document的下属对象变量名直接使⽤。
在⽕狐中不能。
(2)解决⽅法⽤getElementById("idName")代替idName作为对象变量使⽤。
5.⽤idName字符串取得对象的问题(1)现有问题在IE中,利⽤eval(idName)可以取得id为idName的HTML对象,在⽕狐中不能。
(2)解决⽅法⽤getElementById(idName)代替eval(idName)。
6.变量名与某HTML对象id相同的问题(1)现有问题在⽕狐中,因为对象id不作为HTML对象的名称,所以可以使⽤与HTML对象id相同的变量名,IE中能。
(2)解决⽅法在声明变量时,⼀律加上var,以避免歧义,这样在IE中亦可正常运⾏。
IE火狐浏览器兼容问题大全1.最简单的鼠标移过手变型的css要改了cursor:pointe r;/*Firefo x不支持c u rsor:hand*/ dw8下面自动出来的也没有han d这个属性了,标准的是po inter2.Firefo x不支持滤镜最常见的半透明不支持。
filter: Alpha(Opacit y=50); /* for IE */opacit y: .5;/* for Firefo x */style="-moz-opacit y:0.5; filter:alpha(opacit y=50);cursor:hand;"onmous eover="this.style.MozOpa city=1;this.filter s.alpha.opacit y=100" onmous eout="this.style.MozOpa city=0.5;this.filter s.alpha.opacit y=50"3.Firefo x不支持e x pres sion例如去掉链接的边框要分别写不同的cssa,area { blr:expres sion(this.onFocu s=this.blur()) } /* for IE */:focus{ outlin e: none; } /* for Firefo x */4.Firefo x不支持d iv滚动条的颜色设置,目前还没有找到替换的好方法。
.conten div {positi on: absolu te; left: 0px; top: 10px; width: 580px;height: 135px;line-height:120%;text-align:left; font-family:"宋体";word-break: break-all; color:#6D6E71; OVERFL OW-Y:auto;OVERFL OW-X:no;SCROLL BAR-ARROW-COLOR: red; SCROLL BAR-TRACK-COLOR:F6F6F6;SCROLL BAR-FACE-COLOR:#F6F6F6;SCROLL BAR-SHADOW-COLOR:#F6F6 F6;SCROLL BAR-DARKSH ADOW-COLOR:#F6F6F6;SCROLL BAR-3DLIGH T-COLOR:#F6F6F6;SCROLL BAR-HIGHLI GHT-COLOR:#F6F6F6;}这个在Fir efox里面完全没有效果了。
今天测试代码时,发现不少IE可以运行的ajax,但在FF中报错。
IE和Firefox(火狐)在JavaScript方面的不兼容及统一方法总结如下:1.兼容firefox的 outerHTML,FF中没有outerHtml的方法。
if (window.HTMLElement) {HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML) {var r=this.ownerDocument.createRange();r.setStartBefore(this);var df=r.createContextualFragment(sHTML);this.parentNode.replaceChild(df,this);return sHTML;});HTMLElement.prototype.__defineGetter__("outerHTML",function() {var attr;var attrs=this.attributes;var str="<"+this.tagName.toLowerCase();for (var i=0;i<attrs.length;i++) {attr=attrs[i];if(attr.specified)str+=" "++'="'+attr.value+'"';}if(!this.canHaveChildren)return str+">";return str+">"+this.innerHTML+"</"+this.tagName.toLowerCase()+">"; });HTMLElement.prototype.__defineGetter__("canHaveChildren",function() { switch(this.tagName.toLowerCase()) {case "area":case "base":case "basefont":case "col":case "frame":case "hr":case "img":case "br":case "input":case "isindex":case "link":case "meta":case "param":return false;}return true;});}2.集合类对象问题说明:IE下,可以使用()或[]获取集合类对象;Firefox下,只能使用[]获取集合类对象.解决方法:统一使用[]获取集合类对象.3.自定义属性问题说明:IE下,可以使用获取常规属性的方法来获取自定义属性,也可以使用getAttribute()获取自定义属性;Firefox下,只能使用getAttribute()获取自定义属性.解决方法:统一通过getAttribute()获取自定义属性.4.eval("idName")问题说明:IE下,,可以使用eval("idName")或getElementById("idName")来取得id为idName的HTML对象;Firefox下只能使用getElementById("idName")来取得id为idName的HTML对象. 解决方法:统一用getElementById("idName")来取得id为idName的HTML对象.5.变量名与某HTML对象ID相同的问题说明:IE下,HTML对象的ID可以作为document的下属对象变量名直接使用;Firefox下则不能.Firefox下,可以使用与HTML对象ID相同的变量名;IE下则不能。
解决方法:使用document.getElementById("idName")代替document.idName.最好不要取HTML对象ID相同的变量名,以减少错误;在声明变量时,一律加上var,以避免歧义.6.const问题说明:Firefox下,可以使用const关键字或var关键字来定义常量;IE下,只能使用var关键字来定义常量.解决方法:统一使用var关键字来定义常量.7.input.type属性问题说明:IE下input.type属性为只读;但是Firefox下input.type属性为读写.8.window.event问题说明:window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event 只能在事件发生的现场使用.解决方法:IE:<input name="Button8_1" type="button" value="IE" onclick="javascript:gotoSubmit8_1()"/>...<script language="javascript">function gotoSubmit8_1() {...alert(window.event); //use window.event...}</script>IE&Firefox:<input name="Button8_2" type="button" value="IE" onclick="javascript:gotoSubmit8_2(event)"/>...<script language="javascript">function gotoSubmit8_2(evt) {...evt=evt?evt:(window.event?window.event:null);alert(evt); //use evt...}</script>9.event.x与event.y问题说明:IE下,even对象有x,y属性,但是没有pageX,pageY属性;Firefox下,even对象有pageX,pageY属性,但是没有x,y属性.解决方法:使用mX(mX = event.x ? event.x : event.pageX;)来代替IE下的event.x或者Firefox下的event.pageX.10.event.srcElement问题说明:IE下,even对象有srcElement属性,但是没有target属性;Firefox下,even对象有target属性,但是没有srcElement属性.解决方法:使用obj(obj = event.srcElement ? event.srcElement : event.target;)来代替IE下的event.srcElement或者Firefox下的event.target.11.window.location.href问题说明:IE或者Firefox2.0.x下,可以使用window.location或window.location.href;Firefox1.5.x下,只能使用window.location.解决方法:使用window.location来代替window.location.href.12.模态和非模态窗口问题说明:IE下,可以通过showModalDialog和showModelessDialog打开模态和非模态窗口;Firefox下则不能.解决方法:直接使用window.open(pageURL,name,parameters)方式打开新窗口。
如果需要将子窗口中的参数传递回父窗口,可以在子窗口中使用window.opener来访问父窗口. 例如:var parWin = window.opener; parWin.document.getElementById("Aqing").value = "Aqing";13.frame问题以下面的frame为例:<frame src="xxx.html" id="frameId" name="frameName" />(1)访问frame对象:IE:使用window.frameId或者window.frameName来访问这个frame对象.Firefox:只能使用window.frameName来访问这个frame对象.另外,在IE和Firefox中都可以使用window.document.getElementById("frameId")来访问这个frame对象.(2)切换frame内容:在IE和Firefox中都可以使用window.document.getElementById("testFrame").src = "xxx.html"或window.frameName.location = "xxx.html"来切换frame的内容.如果需要将frame中的参数传回父窗口,可以在frme中使用parent来访问父窗口。
例如:parent.document.form1.filename.value="Aqing";14.body问题Firefox的body在body标签没有被浏览器完全读入之前就存在;而IE的body则必须在body 标签被浏览器完全读入之后才存在.例如:Firefox:<body ><script type="text/javascript">document.body.onclick = function(evt){evt = evt || window.event;alert(evt);}</script></body>IE&Firefox:<body ></body><script type="text/javascript">document.body.onclick = function(evt){evt = evt || window.event;alert(evt);} </script>15. 事件委托方法IE:document.body.onload = inject; //Function inject()在这之前已被实现Firefox:document.body.onload = inject();有人说标准是:document.body.onload=new Function('inject()');16. firefox与IE(parentElement)的父元素的区别IE:obj.parentElementfirefox:obj.parentNode解决方法: 因为firefox与IE都支持DOM,因此使用obj.parentNode是不错选择.17.cursor:hand VS cursor:pointerfirefox不支持hand,但ie支持pointer解决方法: 统一使用pointer18.innerText在IE中能正常工作,但是innerText在FireFox中却不行.解决方法:if(navigator.appName.indexOf("Explorer") > -1){document.getElementById('element').innerText = "my text";} else{document.getElementById('element').textContent = "my text";}19. FireFox中类似 obj.style.height = imgObj.height 的语句无效解决方法:obj.style.height = imgObj.height + 'px';20. IE,firefox以及其它浏览器对于 table 标签的操作都各不相同,在ie中不允许对table 和tr的innerHTML赋值,使用js增加一个tr时,使用appendChile方法也不管用。