0

何よりも、

CMS(主にAJAX)をデバッグしようとしていますが、jQueryがすべてのスクリプトタグを削除します。JavaScriptをデバッグできなくなる原因は何ですか。この動作を無効にするにはどうすればよいですか?

簡単なグーグル検索で見つけられると思いましたが、成功しませんでした:(

ありがとうございました、

編集

前の私のページ:

    <script>
    jQuery(function(){
        inter = null;
    jQuery('#parse').click(function(){
        jQuery('#answer').load(f(),{"POST":jQuery("#POST").val(),"start":((jQuery('#start').val()-1)*10)},function(){
            alert("Burrrnnnnnnn")
            console.log("Laten we is kijken: " + inter);
                clearInterval(inter);
            });
        inter = setInterval(function(){
            jQuery.getJSON("/googlemonster/backend/status-test",function(json){
                setProgressBar(json);
            });


        },200);
        return false;
    });

    });
     function

     function setProgressBar(obj){
        var g;
        jQuery("#progress-bar,#progress-text-alt-wrapper").animate({"width":(((g=obj["%"])==0?1:g)*2) + "px"},{queue:false});
        jQuery("#progress-text,#progress-text-alt").text(obj["%"] + "% " + obj["status"]);
    }
    </script>
    <style>
    #progress-text-alt-wrapper {
        height: 30px;
        position: absolute;
        z-index: 2;
        width: 1%;
        overflow: hidden;
    }

    #progress {
        border: solid black 1px;
        padding: 1px;
        text-align: center;
        height: 20px;
        width: 200px
    }

    #progress-bar {
        background-color: green;
        width: 1%;
        height: 100%;
    }

    .progress-bar-text {
        padding-top: 3px;
        text-align: center;
        width: 200px;
        position: absolute;
    }

    #progress-text {
     color:green;
    }
    #progress-text-alt {
        color:#eee;
    }
    </style>
     Query:
    <input id="POST" type="text" />
    <br>
    Pagina
    <input value="1" id="start"
        type="number" />
    <br>
    <button id="parse">Look</button>
    <div>
        <div id="progress">
            <div id="progress-text-alt-wrapper">
                <div class="progress-bar-text" id="progress-text-alt">0% Nothing</div>
            </div>
            <div class="progress-bar-text" id="progress-text">0% Nothing</div>
            <div id="progress-bar"></div>
        </div>
    </div>
    <div id="answer"></div>

後のページ

<style>
#progress-text-alt-wrapper {
    height: 30px;
    position: absolute;
    z-index: 2;
    width: 1%;
    overflow: hidden;
}

#progress {
    border: solid black 1px;
    padding: 1px;
    text-align: center;
    height: 20px;
    width: 200px
}

#progress-bar {
    background-color: green;
    width: 1%;
    height: 100%;
}

.progress-bar-text {
    padding-top: 3px;
    text-align: center;
    width: 200px;
    position: absolute;
}

#progress-text {
 color:green;
}
#progress-text-alt {
    color:#eee;
}
</style>
 Query:
<input id="POST" type="text">
<br>
Pagina
<input value="1" id="start" type="number">
<br>
<button id="parse">Look</button>
<div>
    <div id="progress">
        <div id="progress-text-alt-wrapper">
            <div class="progress-bar-text" id="progress-text-alt">0% Nothing</div>
        </div>
        <div class="progress-bar-text" id="progress-text">0% Nothing</div>
        <div id="progress-bar"></div>
    </div>
</div>
<div id="answer"></div>
4

2 に答える 2

0

その通りです。スクリプトタグを取り除くのはjQueryの機能です。代わりに、基本的なJavaScriptメソッドを使用する必要があります。

参照:<script>要素を追加できません

スクリプトは最初に評価され、次に破棄されます。

http://api.jquery.com/append/

于 2012-10-22T11:38:45.620 に答える
0

いくつかの調査の後、私はここにいる人たちのおかげで問題を最終的に修正することができました、

jQuery用の小さなプラグインを作成しましたが、スクリプトタグは取得、削除されませんが、実行されます。

(function($){

    $.fn.loadDebuggable = function(url){

        data = typeof(arguments[1]) == "object"?arguments[1]:{};
        success = arguments[2]||typeof(arguments[1]) == "function"?arguments[1]:function(){};
        return $.ajax(url,{
            "context":this,
            "success":[function(data){
                var div = document.createElement('DIV');
                div.innerHTML = data;
                this[0].innerHTML = "";
                while (div.firstChild) 
                 {
                    this[0].appendChild(div.firstChild);
                    div.removeChild(div.firstChild);
                 };


            },success],
            "type":"GET",
            "data":data
            });
    }
})(jQuery);

ありがとう、

于 2012-10-22T12:20:23.047 に答える