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有問題歡迎與我討論,共同進步。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM