X-Git-Url: https://git.sesse.net/?p=pr0n;a=blobdiff_plain;f=files%2Fpr0n-fullscreen.js;h=2a43c07ee0d2332922e776e08a0aa1c6dd0eb7d8;hp=1d82ebc3280e05631a01c4ee62488479cf689e89;hb=e4a4d0b99d822b49a6273e95dfc49cd7cd125404;hpb=0d94c302534584de439b115a9140ceac4163fd69 diff --git a/files/pr0n-fullscreen.js b/files/pr0n-fullscreen.js index 1d82ebc..2a43c07 100644 --- a/files/pr0n-fullscreen.js +++ b/files/pr0n-fullscreen.js @@ -40,20 +40,6 @@ function find_width() return [null,null]; } -function parse_image_num(url, default_value) { - var url_array = (window.location.toString().split("#")); - if (url_array.length != 2) { - return default_value; - } - - var num = parseInt(url_array[1]); - if (num > 1 && num <= global_image_list.length) { // and then num != NaN - return (num - 1); - } else { - return default_value; - } -} - /* * pr0n can resize to any size we'd like, but we're much more likely * to have this set of fixed-resolution screens cached, so to increase @@ -149,7 +135,7 @@ function display_image(width, height, evt, filename, element_id) var main = document.getElementById("iehack"); var img = replace_image_element(url, element_id, main); - if (global_infobox != 'nobox') { + if (global_infobox != 'nobox/') { var url = "http://" + global_vhost + "/" + evt + "/" + width + "x" + height + "/box/" + filename; var boximg = replace_image_element(url, element_id + "_box", main); @@ -181,8 +167,7 @@ function display_image_num(num, element_id) center_image(num); // replace the anchor part (if any) with the image number - var baseurl = (window.location.toString().split("#"))[0]; - window.location = baseurl + "#" + (num+1); + window.location.hash = "#" + (num+1); } return img; @@ -399,6 +384,8 @@ function key_down(which) } } else if (which == 27) { // escape set_opacity("close", 0.99); + } else { + check_for_hash_change(); } } @@ -418,6 +405,8 @@ function key_up(which) { do_close(); } else if (which == 32 && global_select) { // space select_image(global_image_list[global_image_num][0], global_image_list[global_image_num][1]); + } else { + check_for_hash_change(); } } @@ -437,3 +426,20 @@ function ie_png_hack() close.outerHTML = ""; } } + +function parse_image_num(default_value) { + var num = parseInt(window.location.hash.substr(1)); + if (num >= 1 && num <= global_image_list.length) { // and then num != NaN + return (num - 1); + } else { + return default_value; + } +} + +function check_for_hash_change() { + var num = parse_image_num(-1); + if (num != -1 && num != global_image_num) { + global_image_num = num; + relayout(); + } +}