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。

目录
相关文章
|
资源调度 JavaScript 前端开发
Day.js极简轻易快速2kB的JavaScript库-替代Moment.js
dayjs是一个极简快速2kB的JavaScript库,可以为浏览器处理解析、验证、操作和显示日期和时间,它的设计目标是提供一个简单、快速且功能强大的日期处理工具,同时保持极小的体积(仅 2KB 左右)。
812 24
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
JavaScript 前端开发 算法
JavaScript 中通过Array.sort() 实现多字段排序、排序稳定性、随机排序洗牌算法、优化排序性能,JS中排序算法的使用详解(附实际应用代码)
Array.sort() 是一个功能强大的方法,通过自定义的比较函数,可以处理各种复杂的排序逻辑。无论是简单的数字排序,还是多字段、嵌套对象、分组排序等高级应用,Array.sort() 都能胜任。同时,通过性能优化技巧(如映射排序)和结合其他数组方法(如 reduce),Array.sort() 可以用来实现高效的数据处理逻辑。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
数据采集 JavaScript 前端开发
JavaScript中通过array.filter()实现数组的数据筛选、数据清洗和链式调用,JS中数组过滤器的使用详解(附实际应用代码)
用array.filter()来实现数据筛选、数据清洗和链式调用,相对于for循环更加清晰,语义化强,能显著提升代码的可读性和可维护性。博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
JavaScript 前端开发
JavaWeb JavaScript ③ JS的流程控制和函数
通过本文的详细介绍,您可以深入理解JavaScript的流程控制和函数的使用,进而编写出高效、可维护的代码。
305 32
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
370 3
springboot解决js前端跨域问题,javascript跨域问题解决
|
JavaScript 前端开发
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
Moment.js与其他处理时间戳格式差异的JavaScript库相比有什么优势?
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
385 3