私は私の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が更新され、発生しているエラーを追跡しています。