Web ページでリンクをクリックすると、そのページのコンテンツが .load 関数を使用して取得されます。何も見つからない場合は、何も起こりません。現在の問題は、あるページから次のページに移動してから再び戻ると、コードが機能しないことです。
私のテストサイトに行く方がはるかに簡単です - http://joshblease.co.uk/JQuery/
- オレンジ色のリンク「ページ」をクリックします
- ヘッダー リンクの [インデックス] をクリックします。
- オレンジ色の「ページ」リンクをもう一度クリックします
ページが更新されますが、その理由がわかりません。
編集:現時点ではChromeを使用してこれをテストしています
編集:私のコード
function JLoad (url, elem, type) {
if(type != "ext"){
var $link = elem;
var uri = url + ' #content';
$("#content").load(uri, {'body_only': '1'}, function(response, status, xhr){
if (status != "error") {
if (window.history && window.history.pushState){
window.history.pushState({}, 'JoshBlease Test', url);
}else{
window.location.hash='!/'+url;
}
if(type == "menu"){
$("a").removeClass("active");
$link.addClass("active");
}
}else{
if(type == "menu"){
var linkText = $link.text();
$link.fadeOut(function(){$link.addClass("notFound").text("404 Error")}).fadeIn().delay(2000).fadeOut(function(){$link.removeClass("notFound").text(linkText)}).fadeIn();
}
}
});
}
};
これはページのヘッダーにあります:
$(document).ready(function() {
$("a").on("click", function(event) {
console.log("Click");
event.preventDefault();
var url = $(this).attr("href").replace('./', '');
JLoad(url, $(this), $(this).attr("type"));
return false;
});
});
使用されているリンク:
<a href="page.php" type="content">Page</a>