Greasy Fork is available in English.

圖片瀏覽器

作者:hbl91707(深海異音)

// ==UserScript==
// @name        圖片瀏覽器
// @namespace   hbl917070
// @include     *.jpg
// @include     *.jpeg
// @include     *.png
// @include     *.gif
// @include     *.jpg?*
// @include     *.jpeg?*
// @include     *.png?*
// @include     *.gif?*
// @version     1.05
// @grant       none
// @description         作者:hbl91707(深海異音)
// @description:zh-tw   作者:hbl91707(深海異音)
// ==/UserScript==

/*

最後更新:2017-07-17

說明:安裝後,瀏覽器開啟圖片就會用此【圖片瀏覽器】來檢視。

1.滑鼠滾輪 = 縮放圖片
2.放大圖片快速鍵:【+】or【shift】
3.縮小圖片快速鍵:【-】or【ctrl】
4.當圖片超過視窗範圍,可直接拖曳


作者:hbl91707(深海異音)
http://home.gamer.com.tw/homeindex.php?owner=hbl917070

*/


//判斷是否需要執行
var bool_run = true;
if (document.body.getElementsByTagName("img").length != 1) {
    bool_run = false;
}
if (document.body.getElementsByTagName("a").length != 0) {
    bool_run = false;
}
if (document.body.getElementsByTagName("div").length != 0) {
    bool_run = false;
}


if (bool_run) {

    var add_html = `

    <div id="img_d" style="display:none;" onclick="fun_close_imgbox()"></div>

    <div id="img_box" style="display:none;">
        <div class="img_tit">

            <a target="_blank" href="" id="img_open_url" style="display:none">
                <button style="background-image:url(img/URL.png);background-size: 65% 65%;" onclick=""></button>
            </a>

            <button id="bu_full" title="自動滿版 (auto full)" onclick="fun_zoomMode('full')" class="bu_sel"  style="background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWcluWxpF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjUwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDUwIDUwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MCA1MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjcuOCw2LjggMTUuMSw2LjggMTUuMSwzLjMgNC4zLDMuMyA0LjMsMTQuMSA3LjgsMTQuMSAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMzYuOSwzLjMgMzYuOSw2LjggNDQuMiw2LjggNDQuMiwxNC4xIDQ3LjcsMTQuMSA0Ny43LDMuMyAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iNDQuMiw0My4yIDM2LjksNDMuMiAzNi45LDQ2LjcgNDcuNyw0Ni43IDQ3LjcsMzUuOSA0NC4yLDM1LjkgIi8+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjcuOCwzNS45IDQuMywzNS45IDQuMyw0Ni43IDE1LjEsNDYuNyAxNS4xLDQzLjIgNy44LDQzLjIgIi8+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjI4LjIyNywyNy4yMjYgMzcuMDQsMjcuMjI2IDM3LjA0LDMzLjk2MyA0MS4zNTIsMjkuNDggNDUuNjY3LDI0Ljk5OSA0MS4zNTIsMjAuNTE5IDM3LjA0LDE2LjAzNyANCgkzNy4wNCwyMi43NzMgMjguMjI4LDIyLjc3MyAyOC4yMjgsMTMuOTYxIDM0Ljk2MywxMy45NjEgMzAuNDgxLDkuNjQ4IDI2LDUuMzMzIDIxLjUyLDkuNjQ4IDE3LjAzNywxMy45NjEgMjMuNzc0LDEzLjk2MSANCgkyMy43NzQsMjIuNzczIDE0Ljk2MSwyMi43NzMgMTQuOTYxLDE2LjAzNyAxMC42NDgsMjAuNTE5IDYuMzMzLDI1IDEwLjY0OCwyOS40OCAxNC45NjEsMzMuOTYzIDE0Ljk2MSwyNy4yMjYgMjMuNzc0LDI3LjIyNiANCgkyMy43NzQsMzYuMDQgMTcuMDM3LDM2LjA0IDIxLjUyLDQwLjM1MiAyNi4wMDEsNDQuNjY3IDMwLjQ4MSw0MC4zNTIgMzQuOTYzLDM2LjA0IDI4LjIyNywzNi4wNCAiLz4NCjwvc3ZnPg0K)"></button>
            <button id="bu_full_h" title="寬度滿版 (horizontal full)"  onclick="fun_zoomMode('h')" style="background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWcluWxpF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjUwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDUwIDUwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MCA1MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjMuMywxNC4xIDYuOCwxNC4xIDYuOCw2LjggMTQuMSw2LjggMTQuMSwzLjMgMy4zLDMuMyAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMzUuOSwzLjMgMzUuOSw2LjggNDMuMiw2LjggNDMuMiwxNC4xIDQ2LjcsMTQuMSA0Ni43LDMuMyAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iNDMuMiw0My4yIDM1LjksNDMuMiAzNS45LDQ2LjcgNDYuNyw0Ni43IDQ2LjcsMzUuOSA0My4yLDM1LjkgIi8+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjYuOCwzNS45IDMuMywzNS45IDMuMyw0Ni43IDE0LjEsNDYuNyAxNC4xLDQzLjIgNi44LDQzLjIgIi8+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjM2LjAzOSwzMy45NjMgNDAuMzUyLDI5LjQ4MSA0NC42NjcsMjUgNDAuMzUyLDIwLjUyIDM2LjAzOSwxNi4wMzcgMzYuMDM5LDIyLjc3NCAxMy45NiwyMi43NzQgDQoJMTMuOTYsMTYuMDM3IDkuNjQ4LDIwLjUyIDUuMzMzLDI1LjAwMSA5LjY0OCwyOS40ODEgMTMuOTYsMzMuOTYzIDEzLjk2LDI3LjIyNyAzNi4wMzksMjcuMjI4ICIvPg0KPC9zdmc+DQo=)"></button>
            <button id="bu_full_v" title="高度滿版 (vertical full)"  onclick="fun_zoomMode('v')" style="background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuWcluWxpF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjUwcHgiIGhlaWdodD0iNTBweCIgdmlld0JveD0iMCAwIDUwIDUwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MCA1MCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjMuMywxNC4xIDYuOCwxNC4xIDYuOCw2LjggMTQuMSw2LjggMTQuMSwzLjMgMy4zLDMuMyAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iMzUuOSwzLjMgMzUuOSw2LjggNDMuMiw2LjggNDMuMiwxNC4xIDQ2LjcsMTQuMSA0Ni43LDMuMyAiLz4NCjxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iNDMuMiw0My4yIDM1LjksNDMuMiAzNS45LDQ2LjcgNDYuNyw0Ni43IDQ2LjcsMzUuOSA0My4yLDM1LjkgIi8+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjYuOCwzNS45IDMuMywzNS45IDMuMyw0Ni43IDE0LjEsNDYuNyAxNC4xLDQzLjIgNi44LDQzLjIgIi8+DQo8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBwb2ludHM9IjMzLjk2MywxMy45NjEgMjkuNDgxLDkuNjQ4IDI1LDUuMzMzIDIwLjUyLDkuNjQ4IDE2LjAzNywxMy45NjEgMjIuNzc0LDEzLjk2MSAyMi43NzQsMzYuMDQgDQoJMTYuMDM3LDM2LjA0IDIwLjUyLDQwLjM1MiAyNS4wMDEsNDQuNjY3IDI5LjQ4MSw0MC4zNTIgMzMuOTYzLDM2LjA0IDI3LjIyNywzNi4wNCAyNy4yMjgsMTMuOTYxICIvPg0KPC9zdmc+DQo=)"></button>

            <input type="text" id="text_scale" title="預設的縮放比例" style="display:none" />

            <div class="break"></div>

            <button id="but_imgSizeAdd" title="放大 (zoom in) [ + or shift ]" onclick="fun_imgSizeAdd()" style="background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2Rpc3BsYXk6bm9uZTt9DQoJLnN0MXtkaXNwbGF5OmlubGluZTt9DQoJLnN0MntmaWxsOiNGRkZGRkY7fQ0KPC9zdHlsZT4NCjxnIGlkPSLlnJblsaRfMSIgY2xhc3M9InN0MCI+DQoJPHJlY3QgY2xhc3M9InN0MSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIi8+DQo8L2c+DQo8ZyBpZD0i5ZyW5bGkXzIiPg0KCTxyZWN0IHg9IjIyLjMiIHk9IjYuMSIgY2xhc3M9InN0MiIgd2lkdGg9IjUuNCIgaGVpZ2h0PSIzNy44Ii8+DQoJPHJlY3QgeD0iNi4xIiB5PSIyMi4zIiBjbGFzcz0ic3QyIiB3aWR0aD0iMzcuOCIgaGVpZ2h0PSI1LjQiLz4NCjwvZz4NCjwvc3ZnPg0K)"></button>
            <button id="but_imgSizeSubtrat" title="縮小 (zoom out) [ - or ctrl ]"  onclick="fun_imgSizeSubtrat()" style="background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2Rpc3BsYXk6bm9uZTt9DQoJLnN0MXtkaXNwbGF5OmlubGluZTt9DQoJLnN0MntmaWxsOiNGRkZGRkY7fQ0KPC9zdHlsZT4NCjxnIGlkPSLlnJblsaRfMSIgY2xhc3M9InN0MCI+DQoJPHJlY3QgY2xhc3M9InN0MSIgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIi8+DQo8L2c+DQo8ZyBpZD0i5ZyW5bGkXzIiPg0KCTxyZWN0IHg9IjYuMSIgeT0iMjIuMyIgY2xhc3M9InN0MiIgd2lkdGg9IjM3LjgiIGhlaWdodD0iNS40Ii8+DQo8L2c+DQo8L3N2Zz4NCg==)"></button>

            <div class ="break"></div>

            <button id="but_white" title="黑白切換 (black and white switch)" onclick="fun_switch()" style="background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyMC4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0i5ZyW5bGkXzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNDAgNDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwIDQwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KCS5zdDB7ZmlsbDojRkZGRkZGO3N0cm9rZTojMDAwMDAwO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qxe3N0cm9rZTojRkZGRkZGO3N0cm9rZS13aWR0aDoyO3N0cm9rZS1taXRlcmxpbWl0OjEwO30NCgkuc3Qye2ZpbGw6bm9uZTtzdHJva2U6I0ZGRkZGRjtzdHJva2Utd2lkdGg6MjtzdHJva2UtbWl0ZXJsaW1pdDoxMDt9DQoJLnN0M3tmaWxsOiNGRkZGRkY7fQ0KPC9zdHlsZT4NCjxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjIyIiBjeT0iMjciIHI9IjExLjUiLz4NCjxjaXJjbGUgY2xhc3M9InN0MSIgY3g9IjE0LjEiIGN5PSIxMy43IiByPSIxMS41Ii8+DQo8Zz4NCgk8cGF0aCBjbGFzcz0ic3QyIiBkPSJNMjkuMSw1LjFjMCwwLDEyLjctMC41LDYuNSwxMS42Ii8+DQoJPHBvbHlnb24gY2xhc3M9InN0MyIgcG9pbnRzPSIzMC45LDguNSAyNS4xLDUuNSAzMC42LDIgCSIvPg0KCTxwb2x5Z29uIGNsYXNzPSJzdDMiIHBvaW50cz0iMzkuMiwxNi4yIDM0LjQsMjAuNSAzMy4xLDE0LjEgCSIvPg0KPC9nPg0KPC9zdmc+DQo=)"></button>


            <div class ="break"></div>

            <div id="img_t2" title="圖片長寬 (image size)"></div>



            <button id="but_close"  onclick="fun_close_imgbox()" title="關閉 (close) [ esc ]" style='background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDUwIDUwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MCA1MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qze2ZpbGw6I0ZGRkZGRjt9DQo8L3N0eWxlPg0KPGcgaWQ9IuWcluWxpF80Ij4NCgk8cG9seWdvbiBjbGFzcz0ic3QzIiBwb2ludHM9IjQwLjIsMTMuNiAzNi40LDkuOCAyNSwyMS4yIDEzLjYsOS44IDkuOCwxMy42IDIxLjIsMjUgOS44LDM2LjQgMTMuNiw0MC4yIDI1LDI4LjggMzYuNCw0MC4yIA0KCQk0MC4yLDM2LjQgMjguOCwyNSAJIi8+DQo8L2c+DQo8L3N2Zz4NCg==)' ></button>

        </div>

        <div class="img_text">
            <input type="text" id="img_t1">

        </div>

        <div id="img_content">
            <div id="img_w">    </div>                 
                <img id="img_img" />
            
        </div>

    </div>

    <div style="text-align:center; "></div>





    <!--css 框-->
    <style type="text/css">
        .sp {
            border: none;
            text-align: center;
            display: block;
            margin-top: 10px ;
        }

            /*圖片的上方列*/
        .sp.tit {
            display: none;
        }

        .sp img {
            position: static;
            margin: 20px auto;
            width: 90vw;
        }
    </style>




    <!--css 一般樣式-->
    <style type="text/css">
        html, body {
            padding: 0px;
            margin: 0px;
            background: none ;
            background-image: none !important;
        }
        body{
            background-color: rgba(0, 0, 0, 0) !important;
        }
        html {
            font-family: "微軟正黑體";
            background-color: rgb(30, 30, 30);
            color: #fff;
        }

    </style>


    <!--css 圖片檢視視窗-->
    <style type="text/css">
        #img_box {
            width: 100vw;
            height: 100vh;
            position: fixed;
            left: 0px;
            right: 0px;
            top: 0px;
            bottom: 0px;
            box-shadow: 0px 0px 16px 1px;
            z-index: 100;
        }


        #img_content {
            height: calc(100% - 0px);
            width: calc(100% - 50px);
            border: 0px solid rgba(255, 255, 255, 0.2);
            overflow: auto;
            margin: 0px;
            margin-left: 40px;
            position: relative;
        }

        #img_w {
            /*width: 100%;
            height: 100%;*/
            
            position: absolute;
            top: 0px;
            right: 0px;
            bottom: 0px;
            left: 0px;
            margin: auto;
            background-color: rgba(50,50,250,0);
     
        }


        #img_img {
            
            position: absolute;
            top: 0px;
            right: 0px;
            bottom: 0px;
            left: 0px;
            margin: auto;
            border : 0px rgba(0,0,0,0) solid;

            /*box-shadow: 0px 0px 20px rgba(0,0,0,0.85);*/
         

            /*避免圖片被反白 */
            user-select: none;
            -webkit-user-select: none;
            -moz-user-select: none;
            -ms-user-select: none;
        }

        #img_d {
            height: 100vh;
            width: 100vw;
            position: fixed;
            top: 0px;
            z-index: 99;
        }

        .img_tit {
            height: 100%;
            width: 50px;
            float: left;
            background-color: rgba(0, 0, 0, 0.5);
        }

        #img_t1{
            font-size: 16px !important;
            display: block;
            background-color: rgba(0, 0, 0, 0);
            color: #fff;
            margin-left: 10px;
            border: none;
            width: calc(100% -460px);
            display: block;
            height: 20px;
            margin-top: 2px;
            display: none;
        }

        /*顯示長寬*/
        #img_t2{
            width:100%;
            color: #fff;
            margin-top: 10px;
            text-align: center;
            font-size:15px;
        }

        #text_scale {
            float: right;
            background-color: rgba(0, 0, 0, 0.30);
            border: 2px solid rgba(255, 255, 255, 0.70);
            width: 35px;
            height: 34px;
            margin-top: 5px;
            margin-right: 5px;
            display: block;
            font-size: 18px !important;
            font-family: "微軟正黑體";
            font-weight: 900;
            color: #fff;
            text-align: center;
        }

        .img_tit button {
            width: 50px;
            height: 50px;
            background-color: rgba(0, 0, 0, 0);
            border: none;
            display: block;
            background-position: center center !important;
            background-repeat: no-repeat !important;
            background-size: 80% 80%;
        }

        .bu_sel {
            /*outline: solid 4px #4CB4FF !important;
            width: 42px !important;
            height: 42px !important;
            margin: 4px;*/
        }

        .img_tit button:hover {
            background-color: rgba(0, 122, 255, 0.40);
        }

        .img_tit button:focus {
            outline: 0;
        }

        .img_tit .break {
            margin: 3px 0px;
            border: none;
            float: right;
            width: 100%;
            height: 1px;
            background-color: #fff;
        }

        #but_l:active {
            transform: translateY(3px) scaleX(-1);
        }

        #but_close {
            bottom: 0px;
            position: absolute;
        }

    </style>
        `;


    //----------------------------------------------------


    //<!-- js 計算圖片長寬-->


    //把【長、寬】顯示在圖片上面
    function d(img, aa) {
        var size = fun_getImgSize(img);
        document.getElementById(aa).innerHTML = "w:" + size[0] + "  h:" + size[1] + "";
    }

    //取得圖片長寬
    function fun_getImgSize(img) {
        var nWidth;
        var nHeight;

        if (img.naturalWidth) { // 現代瀏覽器
            nWidth = img.naturalWidth;
            nHeight = img.naturalHeight;
        } else { // IE6/7/8
            var image = new Image();
            image.src = img.src;
            nWidth = image.width;
            nHeight = image.height;
            image = null;
        }
        return new Array(nWidth, nHeight);
    }




    //----------------------------------------------------


    //<!-- js 拖曳-->


    var xxx;
    var yyy;
    var double_keen = 1.5;//拖曳靈敏度
    var bool_允許拖曳瀏覽 = true;//如果圖片長寬都低於螢幕,則取消拖曳瀏覽,讓使用者可以利用拖曳拉儲存圖片
    var obj_img_content;
    var obj_img;
    var obj_img_w;

    function main() {


        document.getElementById("text_scale").value = "98";//設定初始值
        fun_open_imgbox(0);

        //避免事件無法註冊成功
        document.getElementById("but_close").onclick = function () {
            fun_close_imgbox();
        };
        document.getElementById("but_imgSizeAdd").onclick = function () {
            fun_imgSizeAdd();
        };
        document.getElementById("but_imgSizeSubtrat").onclick = function () {
            fun_imgSizeSubtrat();
        };
        document.getElementById("bu_full").onclick = function () {
            fun_zoomMode('full');
        };
        document.getElementById("bu_full_h").onclick = function () {
            fun_zoomMode('h');
        };
        document.getElementById("bu_full_v").onclick = function () {
            fun_zoomMode('v');
        };
        document.getElementById("img_0").onload = function () {
            d(document.getElementById("img_img"), 0);
        };
        document.getElementById("cont").onclick = function () {
            fun_open_imgbox(0);
        };
        document.getElementById("but_white").onclick = function () {
            fun_switch();
        };


        var m_x;
        var m_y;
        var m_top;
        var m_left;
        obj_img_content = document.getElementById("img_content");
        obj_img = document.getElementById("img_img");
        obj_img_w = document.getElementById("img_w");


        obj_img_content.addEventListener("mousedown", function (e) {//按下時,註冊事件

            if (bool_允許拖曳瀏覽) {

                e.preventDefault();//取消點擊事件

                document.onmousemove = mousemove;

                m_x = e.screenX;
                m_y = e.screenY;

                m_top = obj_img_content.scrollTop;
                m_left = obj_img_content.scrollLeft;

            }


        }, false);

        function mousemove(e) {

            var int_top = m_top + (m_y - e.screenY) * double_keen;
            var int_left = m_left + (m_x - e.screenX) * double_keen;
            var int_捲軸寬度x = obj_img_content.offsetWidth - obj_img_content.clientWidth;
            var int_捲軸寬度y = obj_img_content.offsetHeight - obj_img_content.clientHeight;



            //當拖曳超出捲軸最大之時,則重新抓取拖動前記錄的坐標,這樣就不用返回到原點才能往回拖曳
            if (int_top < 0) {
                m_y = e.screenY;
                m_top = 0;
            }
            if (int_top >= obj_img.offsetHeight - obj_img_content.offsetHeight + int_捲軸寬度y + 60) {//外距是30,所以+60
                m_y = e.screenY;
                m_top = obj_img.offsetHeight - obj_img_content.offsetHeight + int_捲軸寬度y + 60;
            }
            if (int_left < 0) {
                m_x = e.screenX;
                m_left = 0;
            }
            if (int_left >= obj_img.offsetWidth - obj_img_content.offsetWidth + int_捲軸寬度x + 60) {
                m_x = e.screenX;
                m_left = obj_img.offsetWidth - obj_img_content.offsetWidth + int_捲軸寬度x + 60;
            }

            obj_img_content.scrollTop = int_top;
            obj_img_content.scrollLeft = int_left;

        }


        document.onmouseup = function () {//放開時,取消事件
            document.onmousemove = null;
        };





    }

    //----------------------------------------------------


    //<!-- js 放大-->

    var int_size = 100;
    var bool_視窗開啟 = false;
    var img_sel = 0;
    var img_size;

    // 註冊滾動事件
    if ('onmousewheel' in window) {
        window.onmousewheel = MouseWheel;
    } else if ('onmousewheel' in document) {
        document.onmousewheel = MouseWheel;
    } else if ('addEventListener' in window) {
        window.addEventListener("mousewheel", MouseWheel, true);
        window.addEventListener("DOMMouseScroll", MouseWheel, true);
    }

    function MouseWheel(e) {

        if (bool_視窗開啟 === false) {
            return;
        }

        e.preventDefault();//禁止頁面滾動

        e = e || window.event;


        //縮放計算
        if (e.wheelDelta <= 0 || e.detail > 0) {
            fun_imgSizeSubtrat(e);
        } else {
            fun_imgSizeAdd(e);
        }



    }






    //縮小圖片
    function fun_imgSizeSubtrat(e) {


        int_size *= 0.9;
        if (int_size <= 5) {
            int_size /= 0.9;
            return;
        }

        //如果不是透過滾輪來縮放,就從中央作為縮放起點
        if (e === undefined) {
            e = { clientX: 0, clientY: 0 };
            e.clientX = obj_img_content.offsetWidth / 2;
            e.clientY = obj_img_content.offsetHeight / 2;
        }

        //計算游標目前在圖片的坐標
        xxx = e.clientX - obj_img_w.offsetLeft - 50 + obj_img_content.scrollLeft;
        yyy = e.clientY - obj_img_w.offsetTop - 0 + obj_img_content.scrollTop;

        //計算圖片改變大小後的差距
        var xx2 = obj_img.offsetWidth - obj_img.offsetWidth * 0.9;
        var yy2 = obj_img.offsetHeight - obj_img.offsetHeight * 0.9;

        //儲存目前的捲軸位置
        var top2 = obj_img_content.scrollTop;
        var left2 = obj_img_content.scrollLeft;

        fun_imgSizeChange();//改變大小


        obj_img_content.scrollTop = top2 - ((yyy / obj_img.offsetHeight) * yy2) * 0.9;
        obj_img_content.scrollLeft = left2 - ((xxx / obj_img.offsetWidth) * xx2) * 0.9;

    }

    //放大圖片
    function fun_imgSizeAdd(e) {

        int_size *= 1.1;
        if (int_size >= 6000) {
            int_size /= 1.1;
            return;
        }

        fun_imgSizeChange();

        //如果不是透過滾輪來縮放,就從中央作為縮放起點
        if (e == undefined) {
            e = { clientX: 0, clientY: 0 };
            e.clientX = obj_img_content.offsetWidth / 2;
            e.clientY = obj_img_content.offsetHeight / 2;
        }

        xxx = e.clientX - obj_img_w.offsetLeft - 50 + obj_img_content.scrollLeft;
        yyy = e.clientY - obj_img_w.offsetTop - 0 + obj_img_content.scrollTop;


        var xx2 = obj_img.offsetWidth - obj_img.offsetWidth / 1.1;
        var yy2 = obj_img.offsetHeight - obj_img.offsetHeight / 1.1;

        obj_img_content.scrollTop += ((yyy / obj_img.offsetHeight) * yy2) * 1.1;
        obj_img_content.scrollLeft += ((xxx / obj_img.offsetWidth) * xx2) * 1.1;

    }


    //----------------------------------------------------

    //<!-- js 圖片檢視視窗-->



    //
    function fun_switch() {

        var html = document.getElementsByTagName("html")[0];
        if (html.getAttribute("white") == "true") {
            html.style.backgroundColor = "rgb(30, 30, 30)";
            html.style.color = "#FFF";
            document.body.style.color = "#FFF";
            html.setAttribute("white", "false");
        } else {
            html.style.backgroundColor = "#EEE";
            html.style.color = "#000";
            document.body.style.color = "#000";
            html.setAttribute("white", "true");
        }




    }


    //關閉視窗
    function fun_close_imgbox() {
        bool_視窗開啟 = false;
        document.getElementById("img_box").style.display = "none";
        document.getElementById("img_d").style.display = "none";
        document.getElementsByClassName("sp")[0].style.display = "block";//顯示圖片
        document.getElementsByTagName("body")[0].style.overflow = "auto";//捲軸
    }

    //開啟視窗
    function fun_open_imgbox(x) {

        img_sel = x;
        bool_視窗開啟 = true;


        document.getElementById("img_box").style.display = "block";
        document.getElementById("img_d").style.display = "block";

        document.getElementById("img_img").src = urls[x];
        document.getElementById("img_open_url").href = urls[img_sel];
        document.getElementsByTagName("body")[0].style.overflow = "hidden";

        document.getElementsByClassName("sp")[0].style.display = "none";//隱藏圖片

        //圖片載入完成後計算長寬并顯示
        document.getElementById("img_img").onload = function () {
            img_size = fun_getImgSize(document.getElementById("img_img"));//取得圖片寬高
            fun_100scale();
            fun_imgTitle();
        };


    }

    //修改視窗顯示的資訊
    function fun_imgTitle() {
        document.getElementById("img_t2").innerHTML = img_size[0] + "<br>" + img_size[1];
        document.getElementById("img_t1").value = urls[img_sel];
    }

    var bool_width;//判斷縮放方式
    var st_zoomMode = "full";

    //選擇縮放模式
    function fun_zoomMode(x) {
        st_zoomMode = x;
        document.getElementById("bu_full").className = "";
        document.getElementById("bu_full_h").className = "";
        document.getElementById("bu_full_v").className = "";

        if (x == 'full') {
            document.getElementById("bu_full").className = "bu_sel";
        } else if (x == 'v') {
            document.getElementById("bu_full_v").className = "bu_sel";
        } else if (x == 'h') {
            document.getElementById("bu_full_h").className = "bu_sel";
        }

        fun_100scale();
    }

    //圖片 初始 & 最大 化
    function fun_100scale() {

        int_size = 100;

        try {
            int_size = Number(document.getElementById("text_scale").value);
            if (int_size < 10) {
                int_size = 10;
            } else if (int_size > 500) {
                int_size = 500;
            } else if (isNaN(int_size)) {
                int_size = 100;
            }
            document.getElementById("text_scale").value = int_size + "";
        } catch (e) {
            int_size = 100;
            document.getElementById("text_scale").value = "100";
        }

        if (st_zoomMode == "full") {//圖片滿版,需要判斷
            if (img_size[0] & img_size[1]) {
                var obj_content = document.getElementById("img_content");
                if ((img_size[0] / obj_content.offsetWidth) > (img_size[1] / obj_content.offsetHeight)) {
                    bool_width = true;
                } else {
                    bool_width = false;
                }
            } else {
                bool_width = false;
            }
        } else if (st_zoomMode == "v") {
            bool_width = false;
        } else if (st_zoomMode == "h") {
            bool_width = true;
        }

        fun_imgSizeChange();

        //如果圖片比視窗大,就初始化位置
        if (document.getElementById("img_content").offsetHeight < document.getElementById("img_img").offsetHeight) {
            document.getElementById("img_content").scrollTop = 0;
        }
        if (document.getElementById("img_content").offsetWidth < document.getElementById("img_img").offsetWidth) {
            document.getElementById("img_content").scrollLeft = 0;
        }

    }


    //縮放
    function fun_imgSizeChange() {
        var obj_img = document.getElementById("img_img");
        var obj_con = document.getElementById("img_content");




        if (bool_width) {
            //document.getElementById("img_img").style.width = int_size + "%";
            obj_img.style.width = (document.getElementById("img_content").offsetWidth * int_size / 100) - 60 + "px";
            document.getElementById("img_img").style.height = "auto";
        } else {
            //document.getElementById("img_img").style.height = int_size + "%";
            obj_img.style.height = (document.getElementById("img_content").offsetHeight * int_size / 100) - 60 + "px";
            document.getElementById("img_img").style.width = "auto";
        }


        obj_img_w.style.width = obj_img.offsetWidth + 60 + "px";
        obj_img_w.style.height = obj_img.offsetHeight + 60 + "px";


        //避免chrome出現跑版的現象
        if (obj_con.offsetHeight < obj_img_w.offsetHeight) {
            obj_img.style.marginTop = "30px";
            obj_img_w.style.marginTop = "0px";
        } else {
            obj_img.style.marginTop = "auto";
            obj_img_w.style.marginTop = "auto";
        }
        if (obj_con.offsetWidth < obj_img_w.offsetWidth) {

            obj_img.style.marginLeft = "30px";

        } else {
            obj_img.style.marginLeft = "auto";
        }


        //如果圖片長寬超出版面,才允許使用拖曳瀏覽
        if (obj_con.offsetHeight >= obj_img_w.offsetHeight && obj_con.offsetWidth >= obj_img_w.offsetWidth) {
            bool_允許拖曳瀏覽 = false;
        } else {
            bool_允許拖曳瀏覽 = true;
        }

    }








    //按下按鍵
    document.onkeydown = function (e) {

        var currKey = 0;
        e = e || event;
        currKey = e.keyCode || e.which || e.charCode;


        if (bool_視窗開啟) {

            if (currKey == 38 || currKey == 104) {//上 8
                document.getElementById("img_content").scrollTop -= 50;
                e.preventDefault();
            } else if (currKey == 40 || currKey == 101) {//下 5
                document.getElementById("img_content").scrollTop += 50;
                e.preventDefault();
            } else if (currKey == 100 || currKey == 37) {//左 4
                document.getElementById("img_content").scrollLeft -= 50;
                e.preventDefault();
            } else if (currKey == 102 || currKey == 39) {//右 6
                document.getElementById("img_content").scrollLeft += 50;
                e.preventDefault();
            } else if (currKey == 107 || currKey == 16) {// 放大 + shift
                fun_imgSizeAdd();
                e.preventDefault();
            } else if (currKey == 109 || currKey == 17) {//縮小 - ctrl
                fun_imgSizeSubtrat();
                e.preventDefault();
            }
        } else {
            if (currKey == 38) {
                document.getElementsByTagNameNS("body")[0].scrollTop -= 50;
                e.preventDefault();
            } else if (currKey == 40) {
                document.getElementsByTagNameNS("body")[0].scrollTop += 50;
                e.preventDefault();
            }
        }
    };

    //放開按鍵時
    document.onkeyup = function (e) {

        var currKey = 0, e = e || event;
        currKey = e.keyCode || e.which || e.charCode;
        var keyName = String.fromCharCode(currKey);

        if (bool_視窗開啟) {
            if (currKey == 27) {//關閉視窗
                fun_close_imgbox();
            }
        }

    };








    var src = document.body.getElementsByTagName("img")[0].src;
    document.body.getElementsByTagName("img")[0].parentNode.removeChild(document.body.getElementsByTagName("img")[0]);
    var urls = new Array(src);




    var i = 0;

    var div = document.createElement("div");
    div.innerHTML = add_html +
        "<span class='sp'>" +
        "<div class='tit'>" +
        "<a href='" + src + "' class='open_url' target='_blank'></a>" +
        "<div class='le'>" +
        "<div style='height=1px'></div>" +
        "<div class='wh' id='" + i + "'>---</div>" +
        "</div>" +
        "</div>" +
        "<div id='cont' onclick='fun_open_imgbox(\"" + i + "\")'>" +
        "<img id='img_" + i + "' alt=\"" + src + "\" src=\"" + src + "\">" +
        "</div></span>"
        ;

    document.body.appendChild(div);

    main();


    //---------------------------------
}