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: 页面跳转,或

兼容问题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>";
				。。。。
			}
			}
		});


如果ajax的success方法返回data是字符串,则dataType: "text", //firefox。

目录
相关文章
|
3月前
|
前端开发 JavaScript
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
34 0
杨校老师课堂之基于Servlet整合JQuery中的Ajax进行表单提交[基于IDEA]
|
16天前
|
JavaScript 算法 前端开发
JS算法必备之String常用操作方法
这篇文章详细介绍了JavaScript中字符串的基本操作,包括创建字符串、访问特定字符、字符串的拼接、位置查找、大小写转换、模式匹配、以及字符串的迭代和格式化等方法。
JS算法必备之String常用操作方法
|
30天前
|
前端开发 JavaScript Java
SpringBoot+JQuery+Ajax实现表单数据传输和单文件或多文件的上传
关于如何在SpringBoot项目中结合JQuery和Ajax实现表单数据的传输以及单文件或多文件上传的教程。文章提供了完整的前后端示例代码,包括项目的`pom.xml`依赖配置、SpringBoot的启动类`App.java`、静态资源配置`ResourceConfig.java`、配置文件`application.yml`、前端HTML页面(单文件上传和多文件上传加表单内容)以及后端控制器`UserController.java`。文章最后展示了运行结果的截图。
45 0
SpringBoot+JQuery+Ajax实现表单数据传输和单文件或多文件的上传
|
30天前
|
JavaScript 前端开发
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
这篇文章介绍了JavaScript中的数组、Date对象、Math对象以及包装类(String、Number、Boolean),并详细讲解了数组的创建、方法(如forEach、push、pop、unshift、slice、splice)和遍历操作,以及工厂方法创建对象和原型对象的概念。
JavaScript基础&实战(5)js中的数组、forEach遍历、Date对象、Math、String对象
|
30天前
|
XML JSON 前端开发
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
26 0
|
30天前
|
JSON JavaScript 数据格式
Jquery 将 JSON 列表的 某个属性值,添加到数组中,并判断一个值,在不在数据中
Jquery 将 JSON 列表的 某个属性值,添加到数组中,并判断一个值,在不在数据中
51 0
|
1月前
|
存储 JSON JavaScript
js之JSON
js之JSON
23 0
|
2月前
|
JavaScript 前端开发 CDN
前端 JS 经典:package.json 属性详解
前端 JS 经典:package.json 属性详解
23 1
|
3月前
|
JavaScript 前端开发 索引
JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型
【6月更文挑战第25天】JavaScript有7个数据类型:Number, String, Boolean, Null, Undefined, Symbol(BES6)和BigInt(ES10)组成基本类型,而Object包括Array、Function等是引用类型。Objects可以包含键值对,Array是特殊的Object。Functions也是对象。`null`和`undefined`被视为特殊的原始值。
38 1
|
2月前
|
JavaScript
js【详解】深拷贝 (含 JSON.parse(JSON.stringify(obj)) 的缺陷,5种手写深拷贝)
js【详解】深拷贝 (含 JSON.parse(JSON.stringify(obj)) 的缺陷,5种手写深拷贝)
40 0