js-history-hashchange
コンテンツ枠内を外部HTMLから呼び出して書き換える
ページ履歴も記録され、タイトルも同時に書き換える
view source
JavaScript
var pageChange = function(href){
var dir = ('html/');
var section = $('#page');
$(window).scrollTop(0);
var path = href.replace('#!/', '');
path = path.replace('<', '<').replace('>', '>');
if(!path || path === '/'){
path = 'top.html';
}
//path = dir + path;
console.log(path);
section
.load(dir + path, function(responseText, statusText, xhr){
if(statusText === 'error'){
section.empty();
$('<h2>').text('404 Not Found').appendTo(section);
$('<p>').text(path + ' は見つかりませんでした').appendTo(section);
}
var title = $('h2').eq(0).text();
if(title){
document.title = title;
}
});
$(window).scrollTop(0);
}
var navChange = function(href){
$('nav');
}
$(function(){
pageChange(location.hash);
$(document).on('click', 'a[href^="#!"]', function(){
var href = $(this).attr('href');
var state = href;
if(history.pushState){
history.pushState('', '', state);
}
console.log(location.hash);
pageChange(href);
navChange();
return false;
});
$(window).on('hashchange', function(){
console.log(location.hash);
pageChange(location.hash);
navChange();
});
});
console.log(location.hash);
CSS
HTML
ページのソースを表示 : Ctrl+U , DevTools : F12
view-source:https://hi0a.com/demo/-js/js-history-hashchange/
ABOUT
hi0a.com 「ひまアプリ」は無料で遊べるミニゲームや便利ツールを公開しています。
プログラミング言語の動作デモやWEBデザイン、ソースコード、フロントエンド等の開発者のための技術を公開しています。
必要な機能の関数をコピペ利用したり勉強に活用できます。
プログラムの動作サンプル結果は画面上部に出力表示されています。
環境:最新のブラウザ GoogleChrome / Windows / Android / iPhone 等の端末で動作確認しています。
画像素材や音素材は半分自作でフリー素材配布サイトも利用しています。LINK参照。
動く便利なものが好きなだけで技術自体に興味はないのでコードは汚いです。
途中放置や実験状態、仕様変更、API廃止等で動かないページもあります。