PageSourceSearch

https://www.city.yaita.tochigi.jp/ssi/js/footstep.js

js city.yaita.tochigi.jp collected 2026-10-02 05:43:23 UTC 5,239 bytes, 140 lines download raw bytes

1jQuery(document).ready(function($){
2	if(('sessionStorage' in window) && (window.sessionStorage !== null)) {
3
4		var pageTitle = $('h1').text(); // ページタイトル
5		if($('#top')[0]){
6			pageTitle = 'トップページ'; // トップページの場合
7		}
8		else if($('#front')[0]){
9			pageTitle = 'トップページ'; // フロントページの場合
10		}
11		else if($('h1 img')[0]){
12			pageTitle = $('h1 img').attr('alt');
13		}
14		var pageUrl = htmlspecialchars_URL(location.href);    // ページアドレス
15
16		// あしあとリスト
17		function  footstepList() {
18			var footstep_rireki_buf = ''; // 履歴一覧用
19
20			footstep_rireki_buf = JSON.parse(sessionStorage.getItem('footstep_rireki'));
21			if(footstep_rireki_buf === null){
22				footstep_rireki_buf = '';
23			}
24			
25			// あしあとの親要素設置
26			if($('#pankuzu_wrap')[0]){
27				$('#pankuzu_wrap').after($('<div id="footstep_wrap" />'));
28			}else{
29				$('#mymainback').prepend($('<div id="footstep_wrap" />'));
30			}
31			$('#footstep_wrap').append('<div id="footstep"><div id="footstep_detail"></div></div>');
32			// 今までのあしあとの展開
33			$('#footstep_detail').append(footstep_rireki_buf);
34			if($('#footstep_detail span:last-child a').attr('href') != pageUrl){
35				$('#footstep_detail').append('<span class="fs_rireki"><a href="' + pageUrl + '">' + pageTitle + '</a></span>');
36			}
37
38			// 末尾(現在のページ)はリンクさせない
39			$('#footstep_detail span:last-child a').on('click keypress',function(){
40				return false;
41			});
42			// あしあとクリア
43			$('#footstep').append('<span id="clear_footstep"></span>');
44			$('#clear_footstep').on('click',function(){
45				$('#footstep_detail').html('');
46				footstep_rireki_buf = $('#footstep_detail').html();
47				sessionStorage.setItem('footstep_rireki',JSON.stringify(footstep_rireki_buf));
48				$(this).hide();
49			});
50
51			// 最大10件の履歴を保持
52			if($('#footstep_detail > span').length > 10){
53				$('#footstep_detail > span:first-child').remove();
54			}
55
56			footstep_rireki_buf = $('#footstep_detail').html();
57			sessionStorage.setItem('footstep_rireki',JSON.stringify(footstep_rireki_buf));
58		}
59
60
61		// 最後に見たページを表示
62		function lastViewPage(){
63			var fs_lastItemHtml = $('#footstep span:last-child').html();
64			var fs_lastItemLS = JSON.parse(localStorage.getItem('footstep_lasturi'));
65			if(fs_lastItemLS === null){
66				fs_lastItemLS = '';
67			}
68
69			$('#header_nav2').prepend('<div id="link_lastviewpage" />');
70			$('#link_lastviewpage').prepend(fs_lastItemLS);
71
72			localStorage.setItem('footstep_lasturi',JSON.stringify(fs_lastItemHtml));
73		}
74
75
76		// ページ記憶:削除ボタンイベント割当
77		function kTPsetDelButton(ktp_buf){
78				$('#ktp_item_list .ktp_item_del').on('click',function(){
79					$(this).closest('.ktp_item').remove();
80					ktp_buf = $('#ktp_item_list').html();
81					localStorage.setItem('keep_page_uri',JSON.stringify(ktp_buf));
82				});
83				return ktp_buf;
84		}
85		// ページ記憶
86		function keepThisPage() {
87			$('#container').before('<div id="keep_page"><div id="ktp_list_wrap"><div id="ktp_list_wrap2"><span id="ktp_save" class="btn_func">このページを一時保存する</span><span id="ktp_del_all" class="btn_func">保存したページをすべて削除する</span><ul id="ktp_item_list"></ul></div></div></div>');
88			// $('#ktp_list_wrap').hide();
89			var ktp_buf = JSON.parse(localStorage.getItem('keep_page_uri'));
90			if(ktp_buf === null || ktp_buf === undefined){
91				ktp_buf = '';
92			}
93			$('#ktp_item_list').html(ktp_buf);
94			$('#keep_page').prepend('<div id="kpt_viewsw_wrap"><span id="ktp_viewsw"></span></div>');
95
96			// var ktp_area_width = $('#keep_page').width();
97			// $('#keep_page').css('right','-'+ktp_area_width+'px');
98
99			ktp_buf = kTPsetDelButton(ktp_buf)
100			$('#ktp_save').on('click keypress',function(){
101				// $('#keep_page').css('right','0px');
102				if($('#ktp_item_list li:first-child a').attr('href') != pageUrl){
103					$('#ktp_item_list').prepend('<li class="ktp_item"><a href="'+pageUrl+'">'+pageTitle+'</a><span class="ktp_item_del"></span></li>');
104					ktp_buf = $('#ktp_item_list').html();
105					localStorage.setItem('keep_page_uri',JSON.stringify(ktp_buf));
106					// ktp_area_width = $('#keep_page').width();
107					// $('#keep_page').css('right','-'+ktp_area_width+'px');
108					ktp_buf = kTPsetDelButton(ktp_buf)
109				}
110			});
111			$('#ktp_del_all').on('click',function(){
112				$('#ktp_item_list').empty();
113					ktp_buf = $('#ktp_item_list').html();
114					localStorage.setItem('keep_page_uri',JSON.stringify(ktp_buf));
115			});
116
117			// $('#ktp_viewsw,#ktp_list_wrap2').on('click',function(event){
118			// 	event.stopPropagation();
119			// })
120			$('#ktp_viewsw').on('click',function(e){
121				$('#keep_page').toggleClass('open');
122				e.stopPropagation();
123				// $('#ktp_list_wrap').toggle();
124			});
125			$('#ktp_list_wrap').on('click',function(e){
126				e.stopPropagation();
127			})
128			$(document).on('click',function(){
129				// $('#ktp_list_wrap').hide();
130				$('#keep_page').removeClass('open');
131			});
132		}
133
134		footstepList(); 
135		// lastViewPage();
136		// keepThisPage();
137
138
139	}
140});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.