Viewer for Mrcong

Viewer for Mrcong!!!!

Versión del día 11/05/2023. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name         Viewer for Mrcong
// @namespace    http://tampermonkey.net/mrcong.com
// @version      0.1
// @description  Viewer for Mrcong!!!!
// @author       You
// @match        https://mrcong.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=mrcong.com
// @grant        GM_xmlhttpRequest
// @grant        GM_addStyle
// @grant        GM_getResourceText
// @require      https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.js
// @resource     viewerCSS   https://cdnjs.cloudflare.com/ajax/libs/viewerjs/1.11.3/viewer.min.css
// ==/UserScript==

(function () {
  'use strict';

  // Debug Switches
  let DEBUG_INFO = false;

  const href = window.location.href;
  debug_info('handle: ' + href);

  function debug_info(...data) {
    if (DEBUG_INFO === true) {
      console.log('[INFO] ', data);
    }
  }

  GM_addStyle(GM_getResourceText('viewerCSS'));

  const title = document.querySelector("head > title").textContent;
  let image_count = parseInt(title.match(/(\d+) photos/)[1]);
  debug_info("image_count = ", image_count);

  const first_image_element = document.querySelector("#fukie2 > p > img:nth-child(1)");
  const first_image_url = first_image_element.getAttribute('src');

  var new_image_viewer = document.createElement('ul');
  new_image_viewer.setAttribute('id', 'imagesViewer'); // 注册新的图片浏览器

  var img_container = document.querySelector('#fukie2 > p');
  img_container.innerHTML = '';
  img_container.appendChild(new_image_viewer); // 注入新的图片浏览器到原图片所在的div容器

  var gallery = new Viewer(new_image_viewer, {
    fullscreen: false,
    interval: 1200,
    loop: false,
    transition: false,
  });

  for (let i = 1; i <= image_count; i++) {
    let url = first_image_url;
    let image_url = url.replace(/-(\d\d\d)\./, "-" + i.toString().padStart(3, '0') + ".");
    debug_info(image_url);
    let image_node = document.createElement('li');
    image_node.innerHTML = `<img decoding="async" class="aligncenter" src="${image_url}">`;
    new_image_viewer.appendChild(image_node);
  }
  gallery.update();

  (function addBtn(text, disable) {
    let btn = document.createElement('input');
    let div = document.createElement('div');

    let btnFarther = document.getElementsByClassName("post-meta")[0];

    div.appendChild(btn);
    btnFarther.appendChild(div);

    div.style.textAlign = 'center';

    btn.disabled = disable;
    btn.type = 'submit';
    btn.value = text;
    btn.style.textAlign = 'center';
    btn.style.verticalAlign = 'middle';
    btn.style.color = '#666666';
    btn.style.background = '#fff';
    btn.style.width = '10rem';
    btn.style.height = '2rem';
    btn.style.background =
        '-webkit-gradient(linear,left top, right top,from(#02fdfe),to(#d3fb42))';
    btn.style.border = '1px';
    btn.style.borderRadius = '3rem';

    btn.onclick = function() {
      gallery.show();
    };
  })('Play by Viewer', false);

})();