// ==UserScript== // @name DLsite跳转到ASMR网站 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 从DLsite重定向到相应的ASMR页面 // @author injustice1 // @match https://www.dlsite.com/* // @grant GM_xmlhttpRequest // @downloadURL none // ==/UserScript== (function() { 'use strict'; var redirectEnabled = localStorage.getItem('redirectEnabled') === 'true'; var openInNewTab = localStorage.getItem('openInNewTab') === 'true'; // 创建折叠框 var optionDiv = document.createElement('div'); optionDiv.style.position = 'fixed'; optionDiv.style.top = '60px'; optionDiv.style.right = '10px'; optionDiv.style.background = '#f2f2f2'; optionDiv.style.border = '2px solid #4CAF50'; optionDiv.style.borderRadius = '5px'; optionDiv.style.padding = '10px'; optionDiv.style.display = 'none'; document.body.appendChild(optionDiv); // 创建按钮切换 var toggleButton = document.createElement('button'); toggleButton.textContent = '选项'; toggleButton.style.position = 'fixed'; toggleButton.style.top = '10px'; toggleButton.style.right = '10px'; toggleButton.style.background = '#f2f2f2'; toggleButton.style.border = '2px solid #4CAF50'; toggleButton.style.borderRadius = '5px'; toggleButton.style.padding = '10px'; toggleButton.onclick = function() { optionDiv.style.display = optionDiv.style.display === 'none' ? 'block' : 'none'; }; document.body.appendChild(toggleButton); // 创建开关按钮 var button = document.createElement('button'); button.textContent = redirectEnabled ? '禁用跳转' : '启用跳转'; button.style.margin = '5px'; button.onclick = toggleRedirect; optionDiv.appendChild(button); // 创建标签页选项按钮 var newTabButton = document.createElement('button'); newTabButton.textContent = openInNewTab ? '新标签页中打开' : '当前标签页中打开'; newTabButton.style.margin = '5px'; newTabButton.onclick = toggleNewTab; optionDiv.appendChild(newTabButton); function toggleRedirect() { redirectEnabled = !redirectEnabled; button.textContent = redirectEnabled ? '禁用跳转' : '启用跳转'; localStorage.setItem('redirectEnabled', redirectEnabled); if (redirectEnabled) { checkRedirect(); } } function toggleNewTab() { openInNewTab = !openInNewTab; newTabButton.textContent = openInNewTab ? '新标签页中打开' : '当前标签页中打开'; localStorage.setItem('openInNewTab', openInNewTab); } function checkRedirect() { var rjCode = window.location.href.match(/product_id\/(RJ\d+)/); if (rjCode && rjCode.length > 1) { var newUrl = 'https://asmr.one/work/' + rjCode[1]; GM_xmlhttpRequest({ method: "HEAD", url: newUrl, onload: function(response) { if (response.status === 200) { if (openInNewTab) { window.open(newUrl, '_blank'); } else { window.location.href = newUrl; } } } }); } } if (redirectEnabled) { checkRedirect(); } })();