imported>=海豚= |
imported>=海豚= |
第1行: |
第1行: |
| <noinclude> 绊爱脸</noinclude><includeonly><!--{if !isset($wgKizunaAIFace) || !$wgKizunaAIFace}--><!--{assign var="wgKizunaAIFace" value=true scope="global"}--><script> | | <noinclude>Only for {{tl|NoReferer}}</noinclude><includeonly><!--{if !isset($wgNoReferer) || !$wgNoReferer}--><!--{assign var="wgNoReferer" value=true scope="global"}--><meta name="referrer" content="no-referrer" /><script> |
| /* eslint-disable no-loop-func */
| |
| /* eslint-disable no-magic-numbers */
| |
| "use strict"; | | "use strict"; |
| window.RLQ = window.RLQ || []; | | window.RLQ = window.RLQ || []; |
| window.RLQ.push(async () => { | | window.RLQ.push(() => $(() => (async () => { |
| if (Math.random() < 0.6) {
| | await mw.loader.using("mediawiki.Uri"); |
| const KizunaAIFaceUp = "https://www.hmoegirl.com/images/0/0f/KizunaAIFaceUp.png";
| | const domains = new Set("hdslb.com"); |
| const KizunaAIFaceDown = "https://www.hmoegirl.com/images/9/9a/KizunaAIFaceDown.png";
| | $(".noRefererConfig").each((_, { dataset: { domain } }) => { |
| await Promise.all([KizunaAIFaceUp, KizunaAIFaceDown].map((src) => new Promise((res) => {
| | for (const d of domain.split("|")) { |
| const image = new Image();
| | domains.add(d); |
| image.src = src;
| | } |
| image.addEventListener("load", () => {
| | }); |
| res();
| | $('img[src^="http://"]').each((_, ele) => { |
| });
| | const url = new mw.Uri(ele.src); |
| })));
| | for (const domain of domains.values()) { |
| const KizunaAI = $("<div/>");
| | if (url.host.includes(domain)) { |
| KizunaAI.width(0).height(0).css({
| | ele.setAttribute("referrerpolicy", "no-referrer"); |
| position: "fixed",
| | url.protocol = "https"; |
| "max-width": "50vw",
| | url.query._ = Math.random(); |
| "max-height": "50vh",
| | ele.src = url; |
| right: "0",
| | return; |
| bottom: "0",
| |
| "z-index": "99999",
| |
| "background-image": `url(${KizunaAIFaceUp})`,
| |
| "background-size": "cover",
| |
| });
| |
| const temp = $("<div/>"); | |
| temp.css({
| |
| "z-index": "-99999",
| |
| top: "81vh",
| |
| left: "81vw",
| |
| position: "fixed",
| |
| width: "1vw",
| |
| height: "1vh",
| |
| });
| |
| $("body").append(temp).append(KizunaAI);
| |
| const KizunaAIWidth = 744;
| |
| const KizunaAIHeight = 825; | |
| const KizunaAISetSize = (size) => { | |
| const windowDirection = temp.width() < temp.height(); | |
| KizunaAI.css(windowDirection ? "width" : "height", `${size}v${windowDirection ? "w" : "h"}`);
| |
| KizunaAI[windowDirection ? "height" : "width"](KizunaAI[windowDirection ? "width" : "height"]() * (windowDirection ? KizunaAIWidth : KizunaAIHeight) / (windowDirection ? KizunaAIHeight : KizunaAIWidth));
| |
| };
| |
| let KizunaAISize = 0;
| |
| let KizunaAITouchTimes = 0;
| |
| let KizunaAIDirection = "bigger";
| |
| let KizunaAIDownTimeout = -1;
| |
| let KizunaAIDOwnFlag = false;
| |
| KizunaAI.on("mousedown touchstart", () => {
| |
| KizunaAITouchTimes++;
| |
| KizunaAI.css("background-image", `url(${KizunaAIFaceDown})`);
| |
| if (KizunaAITouchTimes >= 2) {
| |
| KizunaAIDirection = "smaller"; | |
| } else {
| |
| KizunaAIDOwnFlag = true; | |
| } | | } |
| }); | | } |
| $(window).on("mouseup touchend", () => {
| | }); |
| if (KizunaAIDOwnFlag && KizunaAIDirection === "bigger") {
| | })())); |
| if (KizunaAIDownTimeout > 0) {
| | </script><style type="text/css"unselectable="on"> |
| clearTimeout(KizunaAIDownTimeout);
| | .mw-editmoegirl{ |
| }
| | display:none!important; |
| KizunaAIDownTimeout = setTimeout(() => {
| | } |
| if (KizunaAIDirection === "bigger") {
| | .mw-editlocal{ |
| KizunaAI.css("background-image", `url(${KizunaAIFaceUp})`);
| | display:none!important; |
| }
| | } |
| clearTimeout(KizunaAIDownTimeout);
| | </style><!--{/if}--></includeonly> |
| }, 50);
| |
| KizunaAIDOwnFlag = false;
| |
| }
| |
| }).on("resize", () => {
| |
| if (KizunaAIDirection === "bigger") {
| |
| KizunaAISetSize(KizunaAISize);
| |
| }
| |
| });
| |
| setInterval(() => {
| |
| if (KizunaAIDirection === "bigger") {
| |
| if (KizunaAISize < 80) {
| |
| KizunaAISize++;
| |
| KizunaAISetSize(KizunaAISize);
| |
| }
| |
| } else {
| |
| if (KizunaAISize > 0) {
| |
| KizunaAISize--;
| |
| KizunaAI.css("background-image", `url(${KizunaAIFaceDown})`);
| |
| KizunaAISetSize(KizunaAISize);
| |
| } else {
| |
| KizunaAI.hide();
| |
| }
| |
| }
| |
| }, 50);
| |
| }
| |
| }); | |
| </script><!--{/if}--></includeonly> | |