|
|
(未显示同一用户的1个中间版本) |
第1行: |
第1行: |
| /* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */ | | /* 这里的任何JavaScript将为所有用户在每次页面载入时加载。 */ |
− |
| |
− | // Extension:MultimediaViewer的半透明化修改,用于保持背景文字处于原位,本应修改插件达成的,暂时先用JavaScript应急处理下
| |
− | function multimediaViewer() {
| |
− | var _scrollTo = window.scrollTo;
| |
− | var flag = location.hash.startsWith("#/media/");
| |
− | window.scrollTo = function scrollTo(x_option, y) {
| |
− | if (flag) {
| |
− | console.info("Prevent multimediaViewer called");
| |
− | } else {
| |
− | if (y === undefined) { _scrollTo(x_option); } else { _scrollTo(x_option, y); }
| |
− | }
| |
− | };
| |
− | setInterval(function () {
| |
− | $("a.image img[data-file-width], a.image img[data-file-height], .mw-mmv-filepage-buttons a.mw-mmv-view-expanded").not(".multimediaViewerScrollSet").each(function () {
| |
− | this.addEventListener("click", function (e) {
| |
− | if ($(e.target).closest(".TabLabelText")[0] || $(e.target).closest("a").closest(".mw-customtoggle")[0]) {
| |
− | e.preventDefault();
| |
− | e.stopPropagation();
| |
− | e.stopImmediatePropagation();
| |
− | $($(e.target).closest(".TabLabelText")[0] || $(e.target).closest("a").closest(".mw-customtoggle")[0]).click();
| |
− | return false;
| |
− | }
| |
− | flag = true;
| |
− | }, captureSupported ? {
| |
− | capture: true,
| |
− | } : true);
| |
− | $(this).addClass("multimediaViewerScrollSet");
| |
− | });
| |
− | if ($(".mw-mmv-close")[0]) {
| |
− | if (mw.config.get("wgMultimediaViewerInjected") !== "on") {
| |
− | mw.config.set("wgMultimediaViewerInjected", "on");
| |
− | $(".mw-mmv-image").off("click")[0].addEventListener("click", function (e) {
| |
− | if ($(e.target).is("img")) {
| |
− | window.open($(e.target).attr("src").replace(/(img\.moegirl\.org\.cn\/common\/)thumb\/([a-z\d]+\/[a-z\d]+\/)([^/]+)\/\d+px-\3/i, "$1$2$3"), "_blank").focus();
| |
− | e.preventDefault();
| |
− | e.stopPropagation();
| |
− | e.stopImmediatePropagation();
| |
− | return false;
| |
− | } else if ($(e.target).closest(".error-box")[0]) { return; }
| |
− | $(".mw-mmv-close").click();
| |
− | }, captureSupported ? {
| |
− | capture: true,
| |
− | } : true);
| |
− | }
| |
− | } else if (mw.config.get("wgMultimediaViewerInjected") === "on") {
| |
− | flag = false;
| |
− | mw.config.set("wgMultimediaViewerInjected", "off");
| |
− | }
| |
− | }, 137);
| |
− | }
| |