firefox浏览器相关的2个坑

今天遇到一个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有问题欢迎与我讨论,共同进步。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值