[转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取
兼容问题1:
页面的分享等插件加载不全,并无法点击。
兼容问题2:
IE下页面选择器(#id、.class.etc.)绑定click事件无法访问到,后台springmvc方法,也无法获取ajax的success方法返回值data。
兼容问题3:
在IE和Google下能够获取,ajax的success返回的数据data,但firefox下获取不到。
兼容问题4:
页面跳转,或url进入,js代码不能正确执行,如果按了F12后(开启F12),JavaScript(加载)事件可以正常响应,一切都正常执行。
总结:javascript和jQuery(本js)等,在不同的浏览器下会有很大不同的区别,所以积累这些兼容的经验,以便解决前端问题。
感觉ie和chrome有的时候有点像,可是到ie11就感觉和firefox有点像了。
问题的来源:js冲突(导入)或者js版本,浏览器兼容等。
解决1:
html页面的加载有多种写法:
如1:$(function(){ ... });
如2:window.onload=function(){ ... }
如3:$(document).ready(function(){ ... });
希望同一个页面,使用其中一种,即可,如果都使用,则会有问题,并却在")"后边,该有分号";"请不要省略。
还有导入时候:
<script type="text/javascript" src="/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>,引入一个即可,多个会冲突,小心jsp页面导入冲突。
解决2、4:
其他js事件异常,代码用到console对象,某些版本的ie (360等)不打开控制台("F12")是没有console这个对象,在IE中使用了console.log导致的。删除console.log对象。
解决3:
firefox对ajax的返回值都是XML Document,所以,一般做IE、chrome和firefox两个分支,
getBrowserNV()方法
//解决firefox提交兼容,firefox and chrome button -> ajax and submit conflict,and firefox response data default xml type.
var browser = getBrowserNV();
var reqPath = $("#req").val();
if(browser.indexOf("firefox") != -1){//firefox
$.ajax({
url:reqPath + "/mvc/getcity?id="+value+"&date="+new Date(),
type:"get",
dataType: "json", //firefox
success:function(data){
var county = eval(data);
。。。。
}
}
});
}else{//ie ,chrome etc.
$.ajax({
url:reqPath + "/mvc/getcity?id="+value+"&date="+new Date(),
type:"get",
success:function(data){
var county = eval(data);
var options = "<option value='0'>请选择城市</option>";
。。。。
}
}
});
[转]IE9.0或者360下js(JavaScript、jQuery)不能正确执行(加载),按F12后执行正常;Firefox下ajax的success返回数据data(json、string)无法获取的更多相关文章
- 【转】js JavaScript 的性能优化:加载和执行
JavaScript 的性能优化:加载和执行 转自:https://www.ibm.com/developerworks/cn/web/1308_caiys_jsload/ 随着 Web2.0 技术的 ...
- 【Javascript&Jquery基础归纳】- 加载相关
1.window.onload 必须等到Dom所有元素.包括图片加载完毕后加载,只能编写一个. 2.$(document).ready() DOM结构加载完毕后马上执行,并且可以编写多个. ...
- 第一百四十一节,JavaScript,封装库--DOM加载
JavaScript,封装库--DOM加载 DOM加载,跨浏览器封装DOM加载,当网页文档结构加载完毕后执行函数,不等待图片音频视频等文件加载完毕 /** dom_jia_zai()函数,DOM页面加 ...
- 【JavaScript】使用纯JS实现多张图片的懒加载(附源码)
一.效果图如下 上面的效果图,效果需求如下 1.还没加载图片的时候,默认显示加载图片背景图 2.刚开始进入页面,自动加载第一屏幕的图片 3.下拉界面,当一张图片容器完全显露出屏幕,即刻加载图片,替换背 ...
- JavaScript如何实现上拉加载,下拉刷新?
转载地址: 面试官:JavaScript如何实现上拉加载,下拉刷新? 一.前言 下拉刷新和上拉加载这两种交互方式通常出现在移动端中 本质上等同于PC网页中的分页,只是交互形式不同 开源社区也有很多优秀 ...
- JavaScript(第二十二天)【动态加载js和css】
学习要点: 1.元素位置 2.动态脚本 3.动态样式 本章主要讲解上一章剩余的获取位置的DOM方法.动态加载脚本和样式. 一.元素位置 上一章已经通过几组属性可以获取元素所需的位置,那么这节课补充 ...
- js实现类型jq的dom加载完成
有时候我们只想在 dom 加载完成后运行 js ,而不是等所有图片加载完成.所以不需要 onload , onload 会加载图片等其他媒体.很消耗时间. 原:http://blog.csdn.net ...
- JavaScript 的性能优化:加载和执行
随着 Web2.0 技术的不断推广,越来越多的应用使用 javascript 技术在客户端进行处理,从而使 JavaScript 在浏览器中的性能成为开发者所面临的最重要的可用性问题.而这个问题又因 ...
- [转]JavaScript 的性能优化:加载和执行
原文链接:http://www.ibm.com/developerworks/cn/web/1308_caiys_jsload/index.html?ca=drs- JavaScript 的性能优化: ...
随机推荐
- BG.Sqoop
1. 下载 Sqoop,并复制到虚拟机 http://sqoop.apache.org/ 2. 安装Sqoop tar zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha. ...
- Oracle.DataAccess.Client.OracleConnection.Open()报错System. NullReferenceException
使用ODAC链接Oracle数据库时,conn.Open()报错:未将对象的实例设置到对象引用. Oracle.DataAccess.dll版本:4.121.2.0 ODAC RELEASE 4 Or ...
- 常用js-API
jquery.base64.js //下面是64个基本的编码 var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklm ...
- 插入sql返回主键id
<insert id="insertSelective" parameterType="com.xxx.model.XDetail" useGenerat ...
- 海量数据中找出前k大数(topk问题)
海量数据中找出前k大数(topk问题) 前两天面试3面学长问我的这个问题(想说TEG的3个面试学长都是好和蔼,希望能完成最后一面,各方面原因造成我无比想去鹅场的心已经按捺不住了),这个问题还是建立最小 ...
- 使用github搭建个人html网站
前言:搭建个人网站早就想做了,最近有空就宅在家学习,突然发现github就可以搭建个人的纯html网站,于是开始了这项工作.转载请注明出处:https://www.cnblogs.com/yuxiao ...
- MQ与Webservice的区别
Webservice 和MQ(MessageQueue)都是解决跨平台通信的常用手段,两者有哪些区别呢? 个人认为最本质的区别在于 Webservice近乎实时通信,而MQ却通常是延时通信. 什么意思 ...
- input文字垂直居中和按钮对齐问题,兼容IE8
1.盒子模型问题:请CSS重置 2.按钮不对齐:请浮动或者vertical-align:middle;然后计算宽高,使其对齐 : 3.IE8文本不居中:line-height属性 注意:IE8 ...
- opencv3.2.0图像处理之方框滤波boxFilter API函数
/*.1.方框滤波:boxFilter函数(注:均值滤波是归一化后的方框滤波)*/ /*函数原型: void boxFilter(InputArray src, OutputArray dst, in ...
- x86项目中读取注册表Register数据项的方法
x86项目中使用Registry读取key/value的时候,会出现重定向的问题,解决方法如下: public static string GetMachineGuid() { string guid ...