0

私は私のsqljavascriptのためにこの関数を持っています

PATH="http://localhost/dhodia/";    
try{
                var tags=url.replace(PATH,"");
                var spl=tags.split("/");
                if(spl[0]=="i"){
                    if(spl.length>=2 && spl[1]=="hdd"){

                    }
                    addtoopen($("#"+spl[1]+"opn").attr("jso"));
                    menu_action(spl[1],url)   
                }
            }catch(err){
                var  txt="There was an error on this page.\n\n";
                txt+="Error description: " + err.message + "\n\n";
                txt+="Click OK to continue.\n\n";
                alert(txt);
            }

urlを「http:// localhost / dhodia / i / hdd」として使用するとreplaceステートメントに問題があることがわかりましたが、 「http: // localhost / dhodia / i / hdd/tarun」を使用すると置換されます。置換を行っていません

この行で置き換えが行われない理由を追跡したい

編集

私はこれを以下のように機能的に使用しています

function hstppst(url){
    config.pre=url;
    if(url==PATH || url==PATH+"i/dashboard"){
        $E("#"+current.open).hide();
        unfixbox()
        $E("#dashboard").show();
        addtoopen(dsjsn);
        document.title="My DashBoard";
        current.open="dashboard";
    }else{
        var tags=url.replace(PATH,"");
        var spl=tags.split("/");
        if(spl[0]=="i"){
            if(spl.length>=2 && spl[1]=="hdd"){

            }
            addtoopen($("#"+spl[1]+"opn").attr("jso"));
            menu_action(spl[1],url)   
        }



    }     
}

変更時にこの関数が呼び出され window.onpopstateます

onpopstateでは、この関数にURLを渡します

問題は、コードが実行されていないことvar tags=url.replace(PATH,"");です。エラーが発生した場合にonpopstate関数でこの関数を使用しているため、poageが更新され、発生しているエラーを追跡しています。

4

1 に答える 1

0

文字列オブジェクトのreplaceメソッドの使用法を見てください: https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace

誤ってreplaceを使用します。

于 2012-07-31T23:11:34.640 に答える