1 jQuery(document).ready(function () {
4 function parse_url_and_load_page() {
5 // 'search', 'reverse', 'details'
6 var pagename = window.location.pathname.replace('.html', '').replace(/^\//, '');
8 $('body').attr('id', pagename + '-page');
10 if (pagename === 'search' || pagename === 'reverse') {
12 } else if (pagename === 'details') {
14 } else if (pagename === 'deletable') {
15 deletable_page_load();
16 } else if (pagename === 'polygons') {
21 function is_relative_url(url) {
22 if (!url) return false;
23 if (url.indexOf('?') === 0) return true;
24 if (url.indexOf('/') === 0) return true;
25 if (url.match(/^http/)) return false;
26 if (!url.match(/\.html/)) return true;
31 parse_url_and_load_page();
33 // load page after form submit
34 $(document).on('submit', 'form', function (e) {
37 window.history.pushState(myhistory, '', '?' + $(this).serialize());
39 parse_url_and_load_page();
42 // load page after click on relative URL
43 $(document).on('click', 'a', function (e) {
44 var target_url = $(this).attr('href');
45 if (!is_relative_url(target_url)) return;
50 window.history.pushState(myhistory, '', target_url);
52 parse_url_and_load_page();
55 // deal with back-button and other user action
56 window.onpopstate = function () {
57 parse_url_and_load_page();