IE8的项目在IE11下 一些功能无法实现的解决方案
最近改了一些IE11下一些功能无法实现的项目,发现了有一些IE8下的方法 ,在IE11下被取消或者替代了,如下:
1.JavaScript 运行时错误: 对象不支持“attachEvent”属性或方法;
attachEvent 这个方法在IE11下改成了addEventListener ,所以我这里加了浏览器版本判断 才得以实现了IE8 和IE11下都好用
if (navigator.appName == "Microsoft Internet Explorer" && (navigator.appVersion.match(/8./i) == "8." || navigator.userAgent.indexOf("MSIE 8.0") > 0 || navigator.appVersion.match(/7./i) == "7.")) {
window.attachEvent("onload", OverrideBaseFunction);
} else {
window.addEventListener("onload", OverrideBaseFunction);
}
2.无法获取未定义或 null 引用的属性“tags”
因为这里引用了Jquery,但是在下面没有用到
源代码: var radios=document.body.all.tags("INPUT");
for(var i=0;i<radios.length;i++)
{
if(radios[i].type=="radio")
{
if(radios[i].checked)
{
type=radios[i].value;
break;
}
}
}
改成:
type =$('input:radio[name*="type"]:checked').val(); 因为引用的是Jquery但是没有使用到,所用用Jquery写一句话
var inputs=document.getElementById("cblProcess").all.tags("INPUT");
var isOne=false;
for(var i=0;i<inputs.length;i++)
{
if(inputs[i].type=="checkbox"&&inputs[i].checked)
{
isOne=true;
break;
}
}
3.JavaScript 运行时错误: 无法获取未定义或 null 引用的属性“tags”
源代码: var tds=tr.all.tags("TD");
var result="";
for(var i=0;i<tds.length;i++)
{
var tdText=tds[i].innerText;
if(i>0)
result+=";"+tdText;
else
result+=tdText;
}
改成:var result ="";
$(tr).each(function(){
$(this).children("TD").text(function(i,text){
if(i>0 && text !="")
{
return ";" + text;
}
});
result = $(this).children("TD").text();
$(this).children("TD").text(function(i,text){
if(i>0 && text !="")
{
return text.substr(1);
}
});
});
IE8的项目在IE11下 一些功能无法实现的解决方案的更多相关文章
- IE8下的项目在IE11下某些功能无法实现的问题
在IE8和IE11 下获取数据的时间进行判断有些不同,也要根据浏览器的版本判断分别实现 $(".btndelete").children().children().click(fu ...
- asp.net项目在IE11下出现“__doPostBack”未定义的解决办法
最 近我们运营的网站有用户反馈在 IE 11 下<asp:LinkButton> 点击出现 “__doPostBack”未定义”,经过一番google,终于知道了原因:ASP.NET 可能 ...
- 【转】asp.net项目在IE11下出现“__doPostBack”未定义的解决办法
最近我们运营的网站有用户反馈在 IE 11 下<asp:LinkButton> 点击出现 "__doPostBack"未定义",经过一番google,终于知道 ...
- vue项目在IE下报 [vuex] vuex requires a Promise polyfill in this browser问题
如下图所示,项目在IE11下打开报错: 因为使用了 ES6 中用来传递异步消息的的Promise,而IE浏览器都不支持. 解决方法: 第一步: 安装 babel-polyfill . babel-po ...
- 众神看过来:IE11下鼠标中键(滚轮)导致的一个似乎无法解决的问题?!
最近在做asp.net mvc项目时遇到一个关于超链接的问题.很是纠结. 问题描述 有一个公司列表展示页.在用鼠标中键(注意了是滚轮)以下简称中键,点击编辑(超链接)的时候在该条数据的下面直接加在一个 ...
- IE10,IE11下cookie无法写入问题
asp.net 4.0的程序,发布后,测试在ie6,ie7,ie8,ie9下均可以正常登录,但是在ie10,ie11下就是无法保存cookie,排查了一下是否ie10,ie11是否存在设置问题发下并不 ...
- IE11下ASP.NET Forms身份认证无法保存Cookie的问题
IE11下ASP.NET Forms身份认证无法保存Cookie的问题 折腾了三四天,今天才找到资料,解决了. 以下会转贴,还没来得及深究,先放着,有空再学习下. ASP.NET中使用Forms身份认 ...
- ElementUI在IE11下兼容性修改
1.在项目里面使用了axios.js来发送http请求,在IE下报错Promise未定义,解决办法: 到http://bluebirdjs.com/docs/getting-started.html ...
- 项目中的一个分页功能pagination
项目中的一个分页功能pagination <script> //总页数 ; ; //分页总数量 $(function () { // $("#pagination"). ...
随机推荐
- 7、Khala设备资源的申请和释放
在实际业务中,我们每次登录后,可能需要在服务端维护一些设备相关的资源信息,而不同设备所需维护的资源信息又不尽相同.Khala提供了设备资源的维护储存功能,在此我们通过一个具体的业务中对其进行展示. 一 ...
- QT自定义窗口(模拟MainWindow)
在这里自定义窗口是通过继承于QFrame,内部分为上下两部分,上半部分就是标题栏,下面是窗口的具体内容.上下两部分通过布局固定位置.最后窗口的各种鼠标拖动,缩放,等操作通过添加鼠标事件来完成一个窗口的 ...
- T-SQL 脚本
1.USE语句 USE语句用于设置当前数据库,如果没有USE语句,那么就由执行脚本的任何用户来确定执行脚本时当前数据库是正确的.如果只是一个通用脚本,那么省去USE语句实际上可能更有益.通常,如果在脚 ...
- redhat6.3 64位更新源(使用网易源)全过程记录
本篇博客参考:http://chinaxiaoyu.diandian.com/post/2013-01-24/40046529897.首先在浏览器中输入http://tel.mirrors.163.c ...
- ObjectOutputStream 追加写入读取错误 - 自己的实现方案
本篇博客灵感来自http://blog.csdn.net/chenssy/article/details/13170015 问题描述.问题出现的原因.尝试解决办法,请参见鄙人上一编博客. 上一编文章解 ...
- PHP MySQL Update 之 Update
更新数据库中的数据 UPDATE 语句用于在数据库表中修改数据. 语法 UPDATE table_name SET column_name = new_value WHERE column_name ...
- 给Visual Studio更替皮肤和背景图
给Visual Studio更换皮肤和背景图 1.先安装更换皮肤的插件 VS菜单栏里面找到:工具>扩展和更新>联机>搜索: Theme Editor 下载并安装: 安装后先不着 ...
- Android学习总结——文件储存
Android中文件存储的操作: 1.Activity的openFileOutput()方法可以把数据输出到文件中2.创建的文件保存在/data/data/<package name>/f ...
- RMAN完整全备份
1.以CATALOG模式连接到目标数据库和恢复目录(如:目标数据库为ORCL) C:\Users\Administrator>RMAN TARGET / CATALOG RMANCT/RMANC ...
- JS局部打印两种方法
所有浏览器都可以 <html> <head title=""> <title>测试打印</title> <style medi ...