您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Unterstütze einen Ref deiner Wahl
// ==UserScript== // @name My Ref on Amazon (auch über MD) // @namespace http://dealz.rrr.de/ // @version 20.09.222 // @description Unterstütze einen Ref deiner Wahl // @author Gnadelwartz // @match https://www.amazon.de/* // @grant GM_getValue // @grant GM_setValue // @require https://code.jquery.com/jquery-3.5.1.slim.min.js // @require https://cdn.jsdelivr.net/gh/gnadelwartz/GM_config@3bfccb1cb4238694566ec491ee83d8df94da18d5/GM_config-min.js // @run-at document-start // ==/UserScript== var myRef=GM_getValue( "myRef", "tag=offtopic-21"); var startDate = new Date().getTime(); var lastDate = GM_getValue( "lastDate", "0"); var enMyLocation=window.location.href; // redirect smile to www enMyLocation.replace(/smile\.amazon\.de\//i, "www.amazon.de/"); // valid order done if( enMyLocation.includes(".amazon.de/gp/buy/thankyou")) { setTimeout(function() { window.location.href="https://www.amazon.de/?"+myRef; }, 2000); } // current tag= is not in URL if( enMyLocation.includes(".amazon.de") && ! enMyLocation.includes(myRef)) { // convert old format to current if (enMyLocation.includes("/exec/obidos/")) { GM_setValue( "lastDate", startDate); window.location.href=enMyLocation.replace(/\/exec\/obidos\/ASIN\/(..........).*/i, "/dp/$1/?"+myRef); } // found tag, replace with myRef if (/[?&]tag=/i.test(enMyLocation)) { GM_setValue( "lastDate", startDate); window.location.href=enMyLocation.replace(/([?&])tag=.*(-21)*/i, "$1"+myRef); } else { // no tag, add myRef every x minutes if ( (startDate - parseInt(lastDate)) > 60000*5) { GM_setValue( "lastDate", startDate); if(enMyLocation.includes("?")) { // no parameter, use ? for ref window.location.href=enMyLocation+"&"+myRef; } else { // parameter, use & for ref window.location.href=enMyLocation+"?"+myRef; } } } } GM_config.init( { 'id': 'MyRef', // The id used for this instance of GM_config 'title': 'My Ref Config', 'fields': // Fields object { 'select': { 'label': '<br>Wähle einen vordefinierten Ref oder Freitext für einen eigenen Ref', // Appears next to field 'section': ['Setze einen Ref für Amazon.de', 'Es wurde noch kein Ref ausgewählt oder Du willst den Ref ändern'], 'type': 'radio', // Makes this setting a series of radio elements 'options': ['dealz.rrr.de <a target="_blank" href="https://dealz.rrr.de">>></a><br>', 'suppentanten.de <a target="_blank" href="http://suppentanten.de">>></a><br>', 'elektriker-ohne-grenzen.de <a target="_blank" href="https://elektriker-ohne-grenzen.de">>></a><br>', 'BoD Zirkel - geheim ;-)<br>', 'Do not track!<br><br>', 'Freitext'], // Possible choices 'default': '' // Default value if user doesn't change it }, 'text': // This is the id of the field { 'label': 'Ref in der Form <em>"tag=xxx-21"</em>', // Appears next to field 'type': 'text', // Makes this setting a text field 'default': myRef // Default value if user doesn't change it } }, 'css': '#myRef {margin: 0.4em; background-color: gainsboro;} #MyRef .config_var {margin: 0px; padding: 0 10 0 3em;} #myRef div, #myRef button, #MyRef_section_desc_0 {padding: 0.2em; border-radius: 4px}', 'events': // Callback functions object { 'save': function() { setConfig(); }, } }); function setConfig() { switch (GM_config.get('select').charAt(0)) { case "d": myRef="tag=offtopic-21"; break; case "s": myRef="tag=suppentante-21"; break; case "e": myRef="tag=elekohnegren-21"; break; case "B": myRef="tag=speck-21"; break; case "D": myRef="tag=donotrack-21"; break; case "F": var tmp=GM_config.get('text') if (tmp.startsWith("tag=") && tmp.endsWith("-21")) { myRef=tmp; } else { alert("Eingegebener Text entspricht nicht dem Muster tag=xxx-21, setze auf default.") myRef="tag=offtopic-21" } break; default: myRef="tag=offtopic-21"; break; } GM_setValue("myRef",myRef); GM_config.close(); } function setRef() { GM_config.open(); } function readyFn( jQuery ) { // insert button for config $( "#nav-tools" ).prepend( "<div id='myRefConfig' class='nav-a nav-a-2 icp-link-style-2' style='color: #FFCC00; padding-top: .5em; cursor: pointer;'>myR</div>"+ "<style>.nav-search-field {min-width: 15em !important;}</style>" ); $( "#myRefConfig" ).click(function() { setRef(); }); // no ref saved, ask for one if (GM_getValue( "myRef", "") == "") { setRef(); } } $( document ).ready( readyFn );
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址