X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=files%2Fpr0n-fullscreen.js;h=3cc60558271cebbeb7a0ff89a43cc16a64675575;hb=b0fbbdc03df1966524472c026371235db2d45b48;hp=bbc287a2f94d75b0a90eabf487896d5d34252175;hpb=e0d3b74068825a65a64513660cc53a403815403d;p=pr0n diff --git a/files/pr0n-fullscreen.js b/files/pr0n-fullscreen.js index bbc287a..3cc6055 100644 --- a/files/pr0n-fullscreen.js +++ b/files/pr0n-fullscreen.js @@ -40,14 +40,9 @@ 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 +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; @@ -64,6 +59,8 @@ function parse_image_num(url, default_value) { * pick_image_size, below. */ var fixed_sizes = [ + [ 2048, 1536 ], + [ 1920, 1440 ], [ 1600, 1200 ], [ 1400, 1050 ], [ 1280, 960 ], @@ -194,6 +191,12 @@ function prepare_preload(img, num) preload.src = "data:"; preload.parentNode.removeChild(preload); } + + var preload_box = document.getElementById("preload_box"); + if (preload_box !== null) { + preload_box.src = "data:"; + preload_box.parentNode.removeChild(preload_box); + } // grmf -- IE doesn't fire onload if the image was loaded from cache, so check for // completeness first; should at least be _somewhat_ better @@ -391,6 +394,8 @@ function key_down(which) } } else if (which == 27) { // escape set_opacity("close", 0.99); + } else { + check_for_hash_change(); } } @@ -410,6 +415,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(); } } @@ -429,3 +436,13 @@ function ie_png_hack() close.outerHTML = ""; } } + +function check_for_hash_change() { + var num = parseInt(window.location.hash.substr(1)); + if (num >= 1 && num <= global_image_list.length) { // and then num != NaN + if (--num != global_image_num) { + global_image_num = num; + relayout(); + } + } +}