Ie6与Ie7的区别及兼容性问题

一、问题的提出:
    在安全性方面,ie7比ie6有很大的提高,但同时也为我们编程人员带来了很大的麻烦,而ie浏览器的设置在现阶段并不支持由服务器端来修改,这就更增加了软件两个不同版本的浏览器里面正常运行的难度。
此文主要通过两方面研究来探讨使用简单易行的办法来实现b/s软件在两个版本浏览器中的正常运行,为软件的兼容性提供了一些切实有效的方法。
 
二、从安全性方面对两个版本的ie浏览器的研究及问题的解决。
        Ie在浏览器设置方面不支持由服务器端来修改,这主要是为了客户端电脑的安全性 来考虑的,例如弹出窗口的默认禁止,在很大程度上避免了广告窗口对客户的困扰,并节省了系统的资源,但当我们开发的软件在这种状态中运行时,有些我们需要完成的系统功能却因此受到了限制,从而无法保证软件的正常运行。为此,客户端有必要按照如下的列表设置来保证b/s软件在客户端的正常运行。
 
当您使用的是Internet Explorer 6.0时:
 
>> 你需要关闭Internet Explorer 6.0浏览器自带的“弹出窗口阻止程序”。

·
如何关闭浏览器自带的“弹出窗口阻止程序”:请打开“开始”——“设置”——“控制面板”——“Internet选项”,选择安全选项卡,点击“自定义级别”按钮,将其中的“使用弹出窗口阻止程序”设置为禁用即可。

>> 你需要关闭第三方搜索器插件自带的“弹出窗口阻止程序”。

· 如何关闭 第三方搜索器插件自带 弹出窗口阻止程序” :点击第三方搜索器插件自带的"设置"按钮,将其中 弹出窗口阻止程序” 设置为禁用即可。

>>如果你的浏览器提示禁止了JavaScript或者ActiveX控件的运行,请您将其设置改为允许执行并不再提示。
 
 
 
当您使用的是Internet Explorer 7.0时:
 
>> 你需要关闭Internet Explorer 7.0浏览器自带的“弹出窗口阻止程序”。

·
如何关闭浏览器自带的“弹出窗口阻止程序”:请打开“开始”——“设置”——“控制面板”——“Internet选项”,选择“安全”选项卡,点击“自定义级别”按钮,将其中的“使用弹出窗口阻止程序”设置为禁用即可。

>> 你需要关闭第三方搜索器插件自带的“弹出窗口阻止程序”。

· 如何关闭 第三方搜索器插件自带 弹出窗口阻止程序” :点击第三方搜索器插件自带的"设置"按钮,将其中 弹出窗口阻止程序” 设置为禁用即可。


>>如果你的浏览器提示禁止了JavaScript或者ActiveX控件的运行,请您将其设置改为允许执行并不再提示。

·如何解除JavaScript或者ActiveX控件的运行:请打开“开始”——“设置”——“控制面板”——“Internet选项”,选择“安全”选项卡,点击“自定义级别”按钮,将其中的“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本”设置为提示。
    
>>由于本软件在架构上使用了弹出窗口程序,所以当Internet Explorer 7.0打开窗口的默认设置为“启用选项卡式浏览”时,可能会给您的操作带来不便,请您手动将Internet Explorer 7.0打开窗口的默认设置修改为在新窗口中打开网页即可。

·如何修改Internet Explorer 7.0打开窗口的默认设置:请打开“开始”——“设置”——“控制面板”——“Internet选项”,然后选择“常规”选项卡,点击“选项卡”下的“设置”按钮,在弹出的对话框中将“启用选项卡式浏览”前面的对勾取消掉,点击“确定”即可。

>>由于Internet Explorer 7.0在安全性能上更为优越,所以浏览器默认设置中会在打开本软件时显示软件源文件的地址。

·如何屏蔽Internet Explorer 7.0窗口中显示软件源文件地址:请打开“开始”——“设置”——“控制面板”——“Internet选项”,选择“安全”选项卡,点击“自定义级别”按钮,将其中的“允许网站打开没有地址或状态栏的窗口”设置为启用即可。
 
目前此设置已在xxxxxxxxxx系统中应用,并能保证软件的正常运行。
 
三、软件编写过程中ie6与ie7在容器方面最大的区别与解决方法。
        对于软件开发人员来说,无论是ie浏览器还是页面,或者是页面中的标记等等,都可以看作是一个对象,而其中大多数对象,同时具有容器的功能,是一个容器。在它里面可以放东西,就如刷牙的杯子可以放牙刷一样。也因此这些对象之间产生了父与子的关系。
        Ie6与ie7在对其盛放子对象的呈现方面有所区别。
        在ie6中,页面显示一个对象时,如果其子对象的宽度和高度超过了它本身的宽度和高度,那么其子对象在加载时会将这个对象撑开,将里面的内容全部呈现出来,不进行隐藏和剪切。但是ie7却会对子容器超出父容器范围的内容进行隐藏。
       由于这一原因,常常会出现在ie6下表现正常的页面,在ie7里面会没有滚动条,内容显示不出来,或者原本在ie6里面表现正常的页面元素,会在ie7里面错位。
      为了解决浏览器的兼容问题,提出以下解决办法:
1、 编辑页面时,尽量给定父容器的大小,避免浏览器对未定义大小容器的自我解释。这样,就可以避免因浏览器对页面样式的不同解释而改变页面显示结果。
2、 对于页面元素的大小定义及定位,尽可能采用百分比定位而不要采用,原因与上面原因相同。
3、 子容器溢出父容器的内容,采用明确定义处理,即在编辑页面时,明确溢出内容是隐藏还是滚动等。
 
四、对于页面打印等问题的区别。
    按照第二款中的设置方式对浏览器进行设置后,虽然软件已能正常使用,但需要明确的是,ie6与ie7的打印表现还是会出现差异。即在页面调用 execwb函数时,ie7会进行安全性提示,而ie6不会提示。这是ie7与ie6的安全性不同所引起的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值