今天遇到一个bug,找回密码的功能在google浏览器正常,在firefox浏览器不正常。在排查该bug的过程中遇到2个坑。先总结一下:

1、firefox浏览器无法debug,“脚本”面板提示:本页面不包含 Javascript 如果 <script> 标签有 "type" 属性, 其值应为 "text/javascript" 或者 "application/javascript". 另外脚本必须可解析(语法上正确)。

2、jquery动态form在firefox不能提交。

接下来详细说明。

一、firefox无法debug

场景如下:前提是页面中有js文件,但是firefox“脚本”面板却提示:本页面不包含 Javascript 如果 <script> 标签有 "type" 属性, 其值应为 "text/javascript" 或者 "application/javascript". 另外脚本必须可解析(语法上正确)。

导致无法打断点debug,但是我又必须在firefox浏览器中排错,所以就上网查啊。

有一些坑爹的答案比如:遇到这种情况,一般重置firebug,然后开启“脚本“功能,刷新页面,就能显示正常。试了之后根本不管用。

在火狐社区里看到一句话:50上firebug有兼容问题,等待作者更新或先安装49版本。

这才是问题的原因,所以果断卸载了最新的51的firefox,下载了49的firefox终于可以正常debug了。

二、jquery动态form在firefox不能提交。

jquery动态form在firefox不能提交,即form.submit()火狐浏览器提交失败。debug的过程中发现form.submit()提交后在google浏览器里有向服务器发送请求,但是在firefox中却没有。太奇怪了,查了资料发现。

这是Firefox的一种安全策略,在火狐浏览器中只有当页面中存在form时,submit();方法才会被激活。

原来代码如下:

  var standardPost = function(url, args) {
var form = $("<form method='post'></form>");
form.attr({
"action": url
});
for (arg in args) {
var input = $("<input type='hidden'>");
input.attr({
"name": arg
});
input.val(args[arg]);
form.append(input);
}
form.submit();
}

修改后:

在html中加入一个隐藏的div。

<div id="batchDiv" style="display:none"></div>

form表单追加到这个隐藏的div中。

 var standardPost = function(url, args) {
var form = $("<form id='smbForm' method='post'></form>");
form.attr({
"action": url
});
for (arg in args) {
var input = $("<input type='hidden'>");
input.attr({
"name": arg
});
input.val(args[arg]);
form.append(input);
}
$("#batchDiv").empty().append(form);//添加到隐藏div中
//form.submit();
$('#smbForm'
).submit(); }

本文作者starof,因知识本身在变化,作者也在不断学习成长,文章内容也不定时更新,为避免误导读者,方便追根溯源,请诸位转载注明出处:http://www.cnblogs.com/starof/p/4904929.html有问题欢迎与我讨论,共同进步。

最新文章

  1. Concepts:Request 和 Task
  2. C#的自定义滚动条
  3. Erwin 生成 mysql 带注释(comment )的脚本
  4. iOS闹钟实现
  5. 【英语】Bingo口语笔记(48) - 关于春节的表达
  6. ADT-bundle
  7. 基于BaseHTTPServer的简单存储服务器
  8. linux上TCP connection timeout的原因查找
  9. 把centos 网卡接口eth2改成eth0
  10. 如何将XML转换成XSD(XML Schema)文件
  11. javascript正则表达式/g与/i及/gi的意义
  12. JVM调优总结(七)-典型配置举例1
  13. Java执行批处理.bat文件(有问题???求高手帮忙解答!!!)
  14. Java语言Socket接口用法详解
  15. uva 116 单向TSP
  16. 对 jiffies 溢出、回绕及 time_after 宏的理解
  17. D# 语法
  18. 为Druid监控配置访问权限(配置访问监控信息的用户与密码)
  19. MySQL之SQL注入
  20. Java 多重catch语句的具体使用介绍

热门文章

  1. 使用for循环运算
  2. mysql优化———第二篇:数据库优化调整参数
  3. iOS8学习笔记-构建多视图应用程序
  4. 十大滤波算法程序大全(Arduino精编无错版)(转)
  5. python_json常用的方法
  6. Handler和Message以及Looper之间的三角关系
  7. mysql表明保存不了,多了空格都不行啊
  8. 用PS给图标添加外发光效果
  9. ymodem协议c实现(转)
  10. 修改替换/system/framework/framework.jar后重启手机为何没有效果?