您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
MyDealz Enstyler enhanced features incl. Amazon Mobile Redirect
当前为
// ==UserScript== // @name EnstylerJS // @namespace Enstyler // @description MyDealz Enstyler enhanced features incl. Amazon Mobile Redirect // @include https://nl.pepper.com/* // @include https://www.preisjaeger.at/* // @include https://www.mydealz.de/* // @include https://www.hotukdeals.com/* // @include https://userstyles.org/styles/128262/* // @include https://www.amazon.*/gp/aw/* // @version 3.10.163-min // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @require https://cdn.rawgit.com/gnadelwartz/zepto-modules/468559e1b3dc6463a0eada49ff71d7b5407a8a26/zepto-noajax-min.js // @require https://cdn.rawgit.com/gnadelwartz/GM_config/0e4b1e4c0dd6b08499082c679850ebc0f56e6ca4/GM_config-min.js // @require https://cdn.rawgit.com/gnadelwartz/Enstyler/5b7154c71d70e16e8cffc286ed8afa4188b8477a/translations.js // @require https://cdn.rawgit.com/bitwiseshiftleft/sjcl/4fc74ff92fd6b836cc596cc0ee940ef6cc8db7c6/sjcl.js // @require https://cdn.rawgit.com/pieroxy/lz-string/c58a22021000ac2d99377cc0bf9ac193a12563c5/libs/lz-string.min.js // @run-at document-start // ==/UserScript== // @ the original development source with comments can be found here: https://greasyfork.org/de/scripts/24244-enstylerjs // @ if you don't trust this minimized script use the development source. "use strict"; function EnstylerInit() { (enUserLogin = $(".avatar--type-nav").length) ? (enUserName = $(".navDropDown a").attr(enHREF), enUserName = enUserName.replace(/.*\/profile\/([^\/]+).*/, "$1"), GM_setValue("enConfSyncUser", enUserName)) : enUserName = GM_getValue("enConfSyncUser"), enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1"); } function EnstylerDealActions() { if (enCSSDealz = GM_config.get("enConfCSSDealz"), myDealAction = GM_config.get("enConfDealAction"), myTouch = GM_config.get("enConfTouch"), myCompact = GM_config.get("enConfCompact"), myFixHtml = GM_config.get("enConfFixHtml"), myVotebar = GM_config.get("enConfDealVotebar"), myVotescale = GM_config.get("enConfDealVotescale"), myDealAction) { $("footer ul").length && (enDealFooter = "%0D%0A%0D%0A-- %0D%0A" + $("footer ul li p").first().html().replace(/<br>/g, "%0D%0A").replace(/<.*?>/g, "")); var e = enLocParser.pathname, n = 0; switch ("" != enUserName && (e = e.replace(enUserName + "/", "")), $(".ico--type-grid-subNavActive, .thread-list--type-card ").length && (n = 1), enDealAdd = enDealAction[0] + enDealAction[1 + n] + enDealAction[3], !0) { case e.endsWith("profile/saved-deals"): enDealAdd += enDealAction[4] + enDealAction[5 + n], enDealAction[7], enDealUnbook = !0; break; case e.endsWith("profile/diskussion"): case enUserLogin && e.endsWith(enUserName): enDealAdd += enDealAction[8] + enDealAction[9 + n] + enDealAction[11]; } enDealAdd = enLangLocalize(enDealAdd + enDealAction[12] + enDealAction[13 + n] + enDealAction[15], enDealLang, enLANG), enSocialAdd = enLangLocalize(enDealAction[16] + enDealAction[17] + enDealAction[19], enDealLang, enLANG); var t = enHideTemp; myCompact && (t += ".space--fromW3-t-3 {padding: .3em !important;} .threadGrid-headerMeta, .threadGrid-title {height: 2.3em;}.space--mt-2, .space--mv-2 {margin-top: .25em;} .vote-box {height: 2.1em}"), myTouch && (t += "article .threadGrid-footerMeta .ico:before, article .threadItem-footerMeta .ico:before, article .threadCardLayout--row--small .ico:before{-webkit-transform: scale(1.5); transform: scale(1.5); width: 1.5em; left: .4em;}.ico--reduce3 {left: .4em;}article a.btn--circle {-webkit-transform: scale(1.5); transform: scale(1.5); left: -1em; margin-left: 3em; width: 4em;}.vote-down, .vote-up {padding-top: 0.25em; padding-bottom: 0.25em}"), addStyleString(t); } EnstylerDealActionsDo(); } function EnstylerDealActionsDo() { var e, n, t, a, o, i, l, s; enMyCSSID = genUserKey(MyCSS), (myDealAction || myTouch || myFixHtml || myVotebar) && $("article").not(".enClassActionDone, ." + enClassHidden).each(function() { var c = "c" != $(this).attr("id")[0]; if (myDealAction && c) { e = $(".cept-comment-link", $(this)), n = $(".thread-title a", $(this)), (s = n.length) || (n = $(".thread-title", $(this))); var r = $(this).find(".userHtml"); if (r.length && enTranslateText(r), enTranslateText(n), $("threadWidget-item", $(this)).length) return; (o = $(".vote-temp", $(this))).length && (o = parseInt(o.text()), myVotebar && (l = $(".vote-temp", $(this)).attr("class").replace(/.*charcoal|.*vote-temp--/i, ""), (i = o / (myVotescale / 70) + 10) < 0 && (i *= -3), $(this).prepend('<div class="votebar vote-progress voteBar--' + l + '" style="width: ' + i + '%"></div>')), $(this).hasClass("thread--type-card") && (o = 0), o > myVotescale / 2.51 ? $(this).find(".vote-box").after(enDealFlame) : o < -myVotescale / 10.1 && $(this).find(".vote-box").after(enDealIce)), s ? ($("button.meta-ribbon-btn.hide--fromW3", $(this)).remove(), $("span.meta-ribbon.hide--toW3", $(this)).removeClass("hide--toW3"), $(".threadGrid-title .thread-title.lineClamp--2", $(this)).removeClass("lineClamp--2"), r.length || (myCompact && ($(".threadGrid-image, .threadGrid-body", $(this)).remove(), $(".threadGrid-dealBtn", $(this)).css("grid-column", "3")), $(".threadGrid-image", $(this)).css("width", "50%")), t = n[0].outerHTML.replace(/\n|\r/, "").replace(/^.*href="/, "").replace(/".*/, ""), a = enDealComposeMail($(this), n.text(), t, enDealAdd), e.append(a)) : (enCSSDealz && $(this).find("a.btn--twitter").length && (a = $(this).find("a.btn--twitter")[0].outerHTML.replace(/&text=/g, "?ID=" + enMyCSSID + "&text="), $(this).find("a.btn--twitter").replaceWith(a), a = $(this).find("a.btn--facebook")[0].outerHTML.replace(/&title=/g, "?ID=" + enMyCSSID + "&title="), $(this).find("a.btn--facebook").replaceWith(a), a = $(this).find("a.btn--whatsapp")[0].outerHTML.replace(/" rel="no/, "?ID=" + enMyCSSID + '" rel="no'), $(this).find("a.btn--whatsapp").replaceWith(a)), a = enDealComposeMail($(this), n.text(), enLocParser.toString(), enSocialAdd), $(this).find("a.btn--twitter").parent().append(a)); } myTouch && c && (a = $(this).find("div.aGrid, p.imgFrame--noBorder")).length && a.html(a.html().replace(/(<a .*?)href=/, "$1noklick=").replace(/ img--dummy.*" data-lazy-img="{"src":"/, '" src="').replace(/","finishClass":.* alt="/, '" alt="')), myFixHtml && $(this).find("div.userHtml").each(function() { $(this).html($(this).html().replace(/[^ -~Ä-ü€$✘►○●✰]+|( )+|(\n\r)+|<\/p>|<div>/g, " ").replace(/<\/div>/g, "<br>").replace(/<p>|<br>( *<br>)+/g, "<br><br>").replace(/(<li>)(<br>)+|<br>*(<br><\/li>)/g, "$1")); }), myTouch && c && $(this).find("button .avatar").each(function() { $(this).prop("outerHTML", $(this).prop("outerHTML").replace(/thread-avatar/, "avatar--type-m")); }), $(this).addClass("enClassActionDone"); }); } function enDealComposeMail(e, n, t, a) { (n = encodeURIComponent(("Gnadelwartz" == enUserName ? "KayDealz" : enInternationalName) + ": " + n.replace(/\r|\n|\t/g, " ").replace(/ */g, " "))).length < 100 && e.find("span.thread-price").length && (n += encodeURIComponent(" -> " + e.find("span.thread-price").text().replace(/ |\t/g, ""))); var o = t; return enCSSDealz && (o = t.replace(/^https:\/\/.*?\//, "https://dealz.rrr.de/" + enInternationalName + "/") + "?ID=" + enMyCSSID), a.replace(enPATTERN[enHREF], "\n\r" + t).replace(enPATTERN[enTEXT], truncStringWord(n, 160, "%20") + "&body=" + n + "%0D%0A%0D%0A" + o + enDealFooter); } function EnstylerPagePickerCreate() { if (EnstylerPagePickerRemove(), GM_config.get("enConfPagePicker")) { var e, n, t, a = 1, o = 1; if ($(selectList).empty(), $("div.text--color-charcoalTint").length) { var i = $("nav > div.text--color-charcoalTint").html().replace(/\r?\n|\r/g); isNaN(a = parseInt(i.replace(/.*currentPage=/, ""))) && (a = 1), isNaN(o = parseInt(i.replace(/.*lastPage=/, ""))) && (o = a); } for (x = 1; x <= o; ) (t = document.createElement("option")).text = x, selectList.add(t), n = x, e = Math.abs(x - a), x < 10 || e < 5 ? x++ : x < 1e3 && e > 600 ? x += Math.floor(e / 100) : x += Math.floor(e / 2); a > o && (o = a), n < o && ((t = document.createElement("option")).text = o, selectList.add(t)), selectList.value = a; var l = [ ".js-navDropDown-messages", EnstylerPageEnum + " js-navDropDown-messages vAlign--all-m" ]; $(".test-loginButton").length && (l[0] = ".test-loginButton"), $(".voteBar").length && (l = [ ".voteBar--sticky-off--hide.hAlign--all-r", EnstylerPageEnum + " subNavMenu-link subNavMenu-btn voteBar--sticky-off--hide" ]), selectList.setAttribute("class", l[1]), $(l[0]).before(selectList); } } function EnstylerPagePickerDo() { location.search.match(/^page=/) ? selectList.value = parseint(location.search.replace(/^page=/, "")) : $(".js-sticky .text--color-charcoalTint").length && (selectList.value = parseInt($(".js-sticky .text--color-charcoalTint").html().replace(/\r?\n|\r/g).split('--toW2">' + EnstylerSiteConfig("page"))[1])); } function EnstylerPageAction() { var e = "page=" + $(this).val(), n = enLocParser.toString().replace(/page=.*|#.*/, ""); n.endsWith("?") || n.endsWith("&") ? n += e : n += "?" + e, "/deals/" == enSection && (n += "#thread-comments"), window.location = n; } function EnstylerPagePickerRemove() { $("." + EnstylerPageEnum).remove(); } function EnstylerBlacklist() { enUserLogin && !GM_config.get("enConfWhitelist").includes(enUserName) && (GM_config.set("enConfWhitelist", "@" + enUserName + "," + GM_config.get("enConfWhitelist")), GM_config.setValue("enConfWhitelist", GM_config.get("enConfWhitelist"))); var e = GM_config.get("enConfBlacklist").replace(unwantedRegex[0], ""); enBlack = RegExp(e.replace(/^,|,$/g, "").replace(/(.),(.)/g, "$1|$2"), "i"), (enBlackTrue = !" ".match(enBlack)) || "" == e || alert(confLang("regexfailed")), enWhite = RegExp(GM_config.get("enConfWhitelist").replace(/^,|,$/g, "").replace(/(.),(.)/g, "$1|$2"), "i"), enWhiteTrue = !" ".match(enWhite), enBlackTemp = GM_config.get("enConfHideColder"), EnstylerBlacklistRemove(), EnstylerBlacklistDo(); } function EnstylerBlacklistDo() { if (!(!GM_config.get("enConfBlackEnable") || !enBlackTrue && enBlackTemp < -900)) { var e; $("article").not("." + enClassBlackDone + ", .threadWidget-item").each(function() { $(this).addClass(enClassBlackDone), e = "c" != $(this).attr("id")[0] ? $("a.thread-category", $(this)).text() + " " + $(".thread-title a", $(this)).text() + " @" + $("a.user", $(this)).text() : $(".userHtml", $(this)).text() + " @" + $(".vwo-user-link", $(this)).text(), e = e.replace(unwantedRegex[1], " "), enWhiteTrue && e.match(enWhite) || (parseInt($(".vote-temp", $(this)).text()) <= enBlackTemp || enBlackTrue && e.match(enBlack)) && ($(this).addClass(enClassHidden), enBlacklisted++, EnstylerLastSeenSkip("#" + $(this).attr(enID))); }), EnstylerBlacklistShow(); } } function EnstylerBlacklistShow() { enJSfieldDefs.enConfUnblacklist.label = enUnblackText.replace(enPATTERN[enTEXT], enBlacklisted); } function EnstylerBlacklistRemove() { EnstylerBlacklistUnhide(), $("." + enClassBlackDone).removeClass(enClassBlackDone); } function EnstylerBlacklistUnhide() { enBlacklisted = 0, EnstylerBlacklistShow(), $("." + enClassHidden).removeClass(enClassHidden); } function EnstylerFixedNav() { if (GM_config.get("enConfNavFixed") && "/deals/" != enSection && "/gutscheine/" != enSection) { var e = $("header").html(); $("header").replaceWith('<header class="enFixedNav">' + e + "</header>"); var n = myFixedCSS.every; enSection == EnstylerSiteConfig("discussion") && (n += myFixedCSS.discus), ($(".nav-subheadline").length || "/profile/" == enSection) && (n += myFixedCSS.subnav), addStyleString(n = n.replace(enPATTERN[enTEXT], enMainHeigth)); } } function EnstylerDealTime() { TodayStart.setHours(0, 0, 0, 0), $("section.thread-list--type-card").length || (today = enLangLocalize('<span class="hide--toW2"><EN-LANG:today> </span>', enTimeLang, enLANG), oclock = enLangLocalize('<span class="hide--toW2"> <EN-LANG:oclock></span>', enTimeLang, enLANG)), yesterday = enLangLocalize("<EN-LANG:yesterday> ", enTimeLang, enLANG), EnstylerDealTimeDo(); } function EnstylerDealTimeDo() { if (GM_config.get("enConfDealTime")) { var e, n, t, a = Date.now(); $(".meta-ribbon, time, .metaRibbon").each(function() { switch ($(this).addClass(EnstylerTimeSeen), void 0 !== (e = $(this).attr("datetime")) ? DealDate.setTime(1e3 * e) : (e = $(this).text(), DealDate.setTime(a - (60 * parseInt(e.replace(/.* ([0-9].*) [hu].*/, "$1")) + parseInt(e.replace(/.* ([0-9].*) m.*/, "$1"))) * enMs2Min)), e = $(this).html(), n = (a - DealDate) / enMs2Min, t = DealDate.toString().slice(16, 21), !0) { case t.length < 5 || n < 60 || n > 7200: return; case n > 1440: e += " (" + t + oclock + ")"; break; case DealDate < TodayStart: e = yesterday + t + oclock; break; default: e += " (" + today + t + oclock + ")"; } $(this).html(e); }); } } function EnstylerLastSeen() { LastSeenOnce && (LastSeenOnce = !1, enSection.match(enMainSectionMatch) ? (enSeenArticle = GM_getValue(enSec, ""), SyncLastSeen(), EnstylerLastSeenDo(), "" == enLocParser.search && $("article").not(".threadWidget-item").each(function() { if ($(this).length) return GM_setValue(enSec, $(this).attr(enID)), GM_setValue(enSec + "Last", enSeenArticle), SaveLastSeen(), !1; })) : EnstylerLastSeenLast()); } function EnstylerLastSeenDo() { "" != enSec && (GM_setValue("enLastCheck" + enSec, Date.now() / enMs2Min), "" !== enSeenArticle || "" !== enLoadedArticle ? (GM_setValue(enSec + "Last", enSeenArticle), $("#" + enSeenArticle).addClass("enClassMarkArticle"), $("#" + enLoadedArticle).addClass("enClassMarkArticleLoad")) : GM_setValue(enSec, "thread_1")); } function EnstylerLastSeenLast() { var e = GM_getValue(enNewestBase + "LastSec", ""); GM_setValue(e, GM_getValue(e + "Last", "")); } function EnstylerLastSeenSkip(e) { e == "#" + GM_getValue(enSec, "") && (GM_setValue(enSec, enSeenArticle), enSeenArticle = $(e).next().attr(enID), EnstylerLastSeenDo()); } function enCheckUpdates() { if (GM_config.get("enConfInjectCSS")) { var e = Date.now() / enMs2Min - GM_getValue("enLastUpdateCheck", "0"); (e > enUpdateInterval || e < 0) && enUpdateCSS(); } } function enUpdateCSS() { var e = parseInt(Date.now() / enMs2Min), n = enComposeUpdateOpt(); enCacheExternalResource(enUpdateUrl + n, MyCSS), GM_setValue("enLastUpdateCheck", e), enSaveMyCSS(); } function enComposeUpdateOpt() { var e = GM_getValue(enCssOpt, ""); if ("" == e || !e.startsWith("#")) return ""; var n = (e = e.replace(/\n/g, "")).split(";"); e = ""; for (var t = 0; t < n.length; t++) if ("" != n[t]) { var a = n[t].split(":"); a.length < 2 || (e += "&" + a[1].slice(0, -1) + "=" + a[1]); } return e = "?" + e.slice(1); } function EnstylerMenuActions() { EnstylerNavRemove(), enInternational || EnstylerAddNav("Main", "<EN-LANG:discussion>", EnstylerSiteConfig("discussion"), "enMainDiscussion"), EnstylerAddNav("Main", "<EN-LANG:enstyler>", '<EN-LANG:enhref>" target="_blank', "enMainHomepage", "building"), EnstylerAddNav("MainButton", "<EN-LANG:settings>", showEnstylerConfig, EnstylerButton, "filter-subNavBg"); } function EnstylerAddNav(e, n, t, a, o) { void 0 !== o && "" != o || (o = enNavIconPat); var i = !1, l = enMenuItemCode[e].replace(enPATTERN[enID], a).replace(enPATTERN[enTEXT], n); o != enNavIconPat && (l = l.split(enNavIconPat).join("--type-" + o)), "function" == typeof t ? i = !0 : l = l.replace(enPATTERN[enHREF], t), "M" == e[0] && ("" == enAddMain && $(".nav-link.navMenu-trigger").click(debounce(300, EnstylerMainDo)), enAddMain += l, i && (enAddMainFunc[enAddMainCount++] = { ID: a, target: t })); } function EnstylerMainDo() { $(".popover-content nav .navMenu-div").first().before(enLangLocalize(enAddMain, enMenuLang, enLANG)); var e = $(".popover--mainNav"), n = 35 * (enAddMain.split(enNavEntry).length - 1) + parseInt(e.attr("style").split("height: ")[1]); e.attr("style", e.attr("style").replace(/height: [0-9.]*px/, "height: " + n + "px")); for (var t = 0; t < enAddMainCount; t++) $("section #" + enAddMainFunc[t].ID).click(enAddMainFunc[t].target); } function EnstylerNavRemove() { enAddMain = "", enAddMainFunc = [], enAddMainCount = 0, $(".navMenu-page").unbind("click"), $("." + enNavEntry).remove(); } function confLang(e) { return enLangLocalize("<EN-LANG:" + e + ">", enConfigLang, enLANG); } function showEnstylerConfig() { enGMConfigOpen ? GM_config.close() : (GM_config.open(), $(".popover--mainNav").remove(), enGMConfigOpen = !0); } function confLangOpen() { GM_config.set("enConfLang", GM_getValue("enLang", "")), $('.GM_config button[id$="_saveBtn"]').html(enConfigLang[enLANG].save), $('.GM_config button[id$="_closeBtn"]').html(enConfigLang[enLANG].close); } function SyncSettings() { EnGetValue(enCssOpt, enSetValue), EnGetValue(enSettings, enSetSettings); } function SaveSettings() { GM_config.get("enConfInjectCSS") && (EnSaveValue(enCssOpt, GM_getValue(enCssOpt)), enSaveMyCSS()); for (var e = "", n = 0; n < enSaveSettings.length; n++) e += enSaveSettings[n] + "=" + GM_config.get(enSaveSettings[n]) + "&"; EnSaveValue(enSettings, e); } function SaveLastSeen() { if (enAutoSync) { GM_config.get("enConfSyncTime"); Date.now() / enMs2Min - GM_getValue("enLastCheck" + enSec, "0") > 5 && (delay = 500), sleepAsync(function() { EnSaveValue(enSec, GM_getValue(enSec, "")); }, GM_config.get("enConfSyncTime", 10) * enMs2Min / 2); } } function SyncLastSeen() { if (enAutoSync) { var e = Date.now() / enMs2Min, n = e - GM_getValue("enLastCheck" + enSec, "0"); (n > enSyncInterval || n < 0) && (GM_setValue("enLastCheck" + enSec, e), EnGetValue(enSec, enSetLastSeen)); } } function enSetLastSeen(e, n) { enLoadedArticle = n, EnstylerLastSeenDo(), enLoadedArticle.replace(/thread_/i, "") > enSeenArticle.replace(/thread_/i, "") && enSetValue(e + "Last", n); } function enSaveMyCSS() { EnSaveValue(MyCSS, GM_getValue(MyCSS).replace(/^.*?{/, "").replace(/} *@-moz-document.*/, ""), !1); } function checkSyncSettings() { var e = GM_config.fields.enSyncKeyInput.toValue(); null === e && (e = $("#undefined_field_enSyncKeyInput").val()); GM_config.get("enConfSyncKey"); e.length < 6 && (checkSyncReset(), e = enSyncOff), enSyncKey = e, GM_config.fields.enConfSyncKey.node.value = e, GM_config.set("enConfSyncKey", e), GM_config.fields.enSyncKeyInput.value = e, GM_config.fields.enSyncKeyInput.reload(); } function checkSyncReset() { GM_config.fields.enSyncKeyInput.value = enSyncOff, GM_config.fields.enSyncKeyInput.reload(), $("#undefined_field_enSyncKeyInput").val(enSyncOff), syncCheckBug > 0 && ($("#undefined_field_enSyncKeyInput").on("change", function() { checkSyncSettings(); }), syncCheckBug--); } function enSetSettings(e, n) { for (var t = n.split("&"), a = 0; a < t.length; a++) { GM_config.set("enConfSyncKey", enSyncOff); var o = t[a].split("="); o.length < 2 || (GM_config.fields[o[0]].value = o[1], GM_config.fields[o[0]].reload()); } } function enSaveCSS() { enSendCSS(), enSetHome(), enUpdateCSS(), EnstylerHomeButton(); } function enAmazonMobileRedirect() { var e = enLocParser.toString(); return !e.startsWith("https://www.amazon") || (GM_config.get("enConfAmazonRedirect") && (e.includes("/gp/aw/d/") ? window.location.replace(e.replace("/gp/aw/d/", "/dp/")) : e.includes("/gp/aw/ol/") ? window.location.replace(e.replace("/gp/aw/ol/", "/gp/offer-listing/")) : (enDebugLog("AMAZON redirect failed ... redirect to main page"), window.location = enLocParser.protocol + enLocParser.host)), !1); } function EnstylerStart() { EnstylerFixedNav(); EnstylerLastSeen(), EnstylerDealTime(), EnstylerBlacklist(), EnstylerDealActions(); } function EnstylerDelayedInit() { var e = $(".nav").css("background-color"), n = shadeRGBColor($(".btn--mode-special").first().css("background-color"), .1), t = shadeRGBColor(e, .7); addStyleString(" .GM_config {background-color: " + e + " !important; color: " + t + "; top: " + enMainHeigth + "px !important;} .GM_config .section_header {background-color: " + shadeRGBColor(e, -.25) + " !important; color: " + t + " !important;} .nav-link-text:hover, .js-navDropDown-messages:hover, .js-navDropDown-activities:hover { background-color: " + shadeRGBColor(e, .1) + " !important;} .GM_config input[type=button] { background-color: " + n + " !important; border-color: " + n + " !important; min-width: 10em;} .GM_config input[type=button]:hover, .btn--mode-special:hover { background-color: " + shadeRGBColor(n, .2) + " !important; border-color: " + shadeRGBColor(n, .2) + " !important;}"), EnstylerMenuActions(), EnstylerPagePickerCreate(), $(".js-pagi-bottom").bind("DOMSubtreeModified", debounce(100, function() { EnstylerLastSeenDo(), EnstylerPagePickerDo(), EnstylerDealTimeDo(), EnstylerBlacklistDo(), EnstylerDealActionsDo(); })); } //=============== MAIN function START @ DOM READY ============================================= function WaitForBody() { if (enAmazonMobileRedirect(), $("section, footer").length) { if (GM_config.get("enConfInjectCSS") && addStyleString(GM_getValue("Enstyler2_CSS", ""), 'domain("' + enLocParser.hostname), enLocParser.pathname.match(enDisableScript)) return enDebugLog("disable Enstyler for path: " + enLocParser.pathname), void enDebugLog("regex: " + enDisableScript.toString()); WaitForDOM(); } else setTimeout(WaitForBody, 10); } function WaitForDOM() { myColor = $(".nav, #navigation").css("background-color").replace(/rgba.*/, ""), $(".vwo-deal-button, #footer").length && "" == !myColor ? MAIN() : setTimeout(WaitForDOM, 100); } function MAIN() { var e = Date.now(); EnstylerInit(), enCheckUpdates(), addStyleString(enCSS), document.body.appendChild(enGMFrame), "userstyles.org" != enInternationalSite ? (addStyleString(".bg--off {background-color: " + shadeRGBColor($(".bg--main").css("background-color"), -.08) + "!important;}"), enMainHeigth = getOuterHeight("header"), EnstylerStart(), EnstylerStartupDelay = Date.now() - e, EnstylerDelayedInit()) : (GM_config.get("enConfInjectCSS") && addStyleString(GM_getValue("Enstyler2_CSS", ""), "url(https://userstyles.org"), EnstylerHomeButton(), setUserClick(), enSetHome(), GM_config.get("enConfInjectCSS") && addStyleString(".install-status { display: none; }"), "#style-info" == enLocParser.hash && showNotSaved()); } function showEnstylerCSS() { enGetHome(), GM_config.open(); } function EnstylerHomeButton() { $("#advancedsettings_area").attr("class", "advancedsettings_shown"), $(".advanced_button").remove(), $("select, input").unbind(), input.setAttribute("style", "font-size: 1.1em; padding: 0.8em;"), $("#button_middle").after(input), window.scrollTo(0, 600); } function setUserClick() { $("#setting-455195").change(HideShowLogoSelect), $("#setting-451668").change(HideShowEnstyler); } function enGetHome() { var e, n, t, a = ""; $("#style-settings select").each(function() { e = $(this).attr(enID), n = $(this).val(), t = $("option[value=" + n + "]").text(), a += "#" + e + ":" + n + ":" + t + ";\n"; }), $("#style-settings input[type=text]").each(function() { e = $(this).attr(enID), n = $(this).val(), a += "#" + e + ":" + n + ":" + (t = "RGB-Clolor") + ";\n"; }), $("#style-settings input:checked").each(function() { e = $(this).attr(enID), n = $(this).val(), t = $("label[for=" + e + "]").text(), a += "#" + e + ":" + n + ":" + t + ";\n"; }), GM_config.set("saveOpt", a), GM_setValue(enCssOpt, a), EnSaveValue(enCssOpt, a); } function enSetHome() { input.value = confLang("options"); var e = GM_getValue(enCssOpt, ""), n = (e = e.replace(/\n/g, "")).split(";"); if ("" != e && e.startsWith("#")) { for (var t = 0; t < n.length; t++) { var a = n[t].split(":"); a[0].startsWith("#setting") ? ($(a[0]).val(""), $(a[0]).val(a[1])) : a[0].startsWith("#option") ? $(a[0]).prop("checked", !0) : "" != a[0] && enDebugLog('ignoring unkown option: "' + a + '"'); } addStyleString(GM_config.get("enConfInjectCSS") ? ".install-status { display: none; }" : ".install-status { display: inline; }"), HideShowLogoSelect(), HideShowEnstyler(); } } function showNotSaved() { input.value = confLang("optnotsave"), EnstylerHomeButton(); } function ShowHideItem(e, n, t, a) { $("#style-settings " + t).each(function() { -1 != $(this).text().indexOf(a) && ($(e).val() == n ? $(this).parent().addClass(enClassHidden) : $(this).parent().removeClass(enClassHidden)); }); } function HideShowLogoSelect() { ShowHideItem("#setting-455195", "ik-logo1", "label", "MyDealz Logo"); } function HideShowEnstyler() { ShowHideItem("#setting-451668", "ik-compact1", "label", "... "); } function enSendCSS() { isMozilla && "#style-info" == enLocParser.hash && "string" == typeof GM_info.scriptHandler && GM_info.scriptHandler.match(/usi/i) && window.open(document.referrer + "/1/" + enComposeCSS()); } function enCatchCSS() { var e = enLocParser.search.replace(/\?/, "#").replace(/=/g, ":").replace(/\&|$/g, ":notext;\n#"); GM_setValue(enCssOpt, e), GM_setValue("enLastUpdateCheck", 0), window.close(); } function enComposeCSS() { var e = GM_getValue(enCssOpt, ""); if ("" == e || !e.startsWith("#")) return ""; var n = (e = e.replace(/\n/g, "")).split(";"); e = ""; for (var t = 0; t < n.length; t++) if ("" != n[t]) { var a = n[t].split(":"); a.length < 2 || (e += "&" + a[0] + "=" + a[1]); } return e = "?" + e.slice(1).replace(/#/g, ""), enDebugLog(e), e; } function mobileLog(e) { GM_setValue(saveLog, GM_getValue(saveLog) + e + "\n"); } function mobileShowLog() { alert(GM_getValue(saveLog)); } function mobileClearLog() { GM_setValue(saveLog, "Enstyler Log\n"); } function EnstylerSiteConfig(e) { return enGetSiteConfig(enInternationalName, e); } function enGetSiteConfig(e, n) { return enSiteConfig.hasOwnProperty(e) && enSiteConfig[e].hasOwnProperty(n) ? enSiteConfig[e][n] : ""; } function enLangLocalize(e, n, t) { return enDealLang.hasOwnProperty(t) || (t = "de"), (e = e.replace(enLangPat, function(e, a) { return n.hasOwnProperty(t) && n[t].hasOwnProperty(a) ? n[t][a] : a; })).match(enLangPat) ? enLangLocalize(e, n, t) : e; } function addStyleString(e, n) { // check if style contains @-moz-document rules if (void 0 === n && (n = ""), e.match(enUserScript.detect)) { "" == n && (n = enLocParser.hostname); var t = e.split(n); e = ""; for (var a = 1; a < t.length; a++) -1 != t[a].indexOf("{") && (e += t[a].replace(enUserScript.split, "").replace(enUserScript.next, "")); } for (var o, i = 0, l = enCSSmax; e.length > l && (o = e.substring(l).indexOf("}.")) > 0; ) addStyleString(e.slice(i, l += o + 1)), i = l, l += enCSSmax; var s = document.createElement("style"); s.innerHTML = e.slice(i), document.body.appendChild(s); } function capitalizeFirstLetter(e) { return e[0].toUpperCase() + e.slice(1); } function truncStringWord(e, n, t) { return void 0 === t && (t = " "), e.length > n ? (e = e.substr(0, n - 1)).substr(0, e.lastIndexOf(t)) + "..." : e; } function sleepAsync(e, n) { setTimeout(e, n); } function shadeRGBColor(e, n) { if (void 0 === n && (n = .1), void 0 === e) return "rgba(0,0,0,0)"; var t = e.split(","), a = n < 0 ? 0 : 255, o = n < 0 ? -1 * n : n, i = parseInt(t[0].slice(4)), l = parseInt(t[1]), s = parseInt(t[2]); return "rgb(" + (Math.round((a - i) * o) + i) + "," + (Math.round((a - l) * o) + l) + "," + (Math.round((a - s) * o) + s) + ")"; } function debounce(e, n) { var t = null; return function() { clearTimeout(t), t = setTimeout(function() { n.call(this); }, e); }; } function enCacheExternalResource(e, n) { GM_xmlhttpRequest({ method: "GET", url: e, onload: function(e) { var t = e.responseText.replace(/\r\n/g, " ").replace(enStripComments, "").replace(enFixCSS, "100%"); GM_setValue(n, t), addStyleString(t); }, onerror: function(e) { alert(confLang("cssfailed")); } }); } function getOuterHeight(e) { e = "string" == typeof e ? document.querySelector(e) : e; var n = window.getComputedStyle(e), t = parseFloat(n.marginTop) + parseFloat(n.marginBottom); return Math.ceil(e.offsetHeight + t); } function enTranslateText(thisObj) { if (enLANG != enSiteLANG && thisObj.length) { var text = thisObj.html().replace(/\n|\r|\t/g, ""), html = text.replace(/.*?(<[ai].*)/, "$1"); html === text && (html = ""); var text = text.replace(/<(a|i).*$/, ""); if ("" === text && (text = html, html = ""), !(text.length > enMaxTrans)) var query = enTranslateQuery.replace(/<ENSTYLER-LANG-HERE>/, enLANG).replace(/<ENSTYLER-HTML-HERE>/, encodeURI(text)), ret = GM_xmlhttpRequest({ method: "GET", url: query, onload: function(res) { var trans = eval("(" + res.responseText + ")")[0][0][0]; try { for (x = 1; x < 5; x++) trans += eval("(" + res.responseText + ")")[0][x][0]; } catch (e) {} thisObj.html(trans + " " + html); } }); } } function EnSaveValue(e, n, t) { if ("" != enUserName && enSyncKey != enSyncOff) { if (void 0 === t && (t = !0), e + n == enSaveUrlLast) return; enSaveUrlLast = e + n; var a = t ? enEncrypt(n) : LZString.compressToEncodedURIComponent(n), o = enSaveURL + "ID=" + genUserKey(e) + "&value=" + a; GM_xmlhttpRequest({ method: "GET", url: o }); } } function genUserKey(e) { return sha256_hex(enUserName + ":" + enSyncKey + "&key=" + e); } function EnGetValue(e, n, t) { if ("" == enUserName && (enUserName = GM_getValue("enConfSyncUser")), "" != enUserName && enSyncKey != enSyncOff) { void 0 === t && (t = !0); var a = "https://dealz.rrr.de/enstyler/load.php?ID=" + genUserKey(e); GM_xmlhttpRequest({ method: "GET", url: a, onload: function(a) { 200 === a.status && a.responseText.length > 5 && n(e, t ? enDecrypt(a.responseText) : LZString.decompressFromEncodedURIComponent(a.responseText)); } }); } } function enSetValue(e, n) { GM_setValue(String(e), String(n)); } function enEncrypt(e) { return btoa(sjcl.encrypt(sha256_hex(enUserName + ":" + enSyncKey), e)); } function enDecrypt(e) { return sjcl.decrypt(sha256_hex(enUserName + ":" + enSyncKey), atob(e)); } function sha256_hex(e) { return sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(e)); } var DEBUG = !1, DEBUGXX = !0, DEBUGXXX = !1, enLocParser = location, enInternationalSite = enLocParser.hostname.replace("www.", ""), enInternationalName = capitalizeFirstLetter(enInternationalSite.replace(/^\.|\..*/g, "")), enInternational = "Mydealz" != enInternationalName, enUpdateInterval = 1440, enMs2Min = 6e4, enUserLogin = !1, enUserName = "", enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1"), enSyncOff = "off", enSyncKey = enSyncOff, enAutoSync = !1, enSyncInterval = 5, isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); /Linux/i.test(navigator.userAgent) && void 0 !== GM_info.scriptHandler && GM_info.scriptHandler.startsWith("USI") && (isMobile = !0); var saveLog = "enMobileLog", enDebugLog = console.error; isMobile && (enDebugLog = mobileLog); var enInitTime, enDisableScript = /settings$/, enLangPat = /<EN-LANG:(.*?)>/g, enLANG, enSiteLANG = void 0 === enSiteConfig[enInternationalName] ? "en" : enSiteConfig[enInternationalName].lang; "" == (enLANG = GM_getValue("enLang", "")) && (GM_setValue("enLANG", ""), enLANG = enSiteLANG); // add actions @ some places ================================== var enDealAction = [ '<a title="<EN-LANG:post>" class="link ico ico--pos-l ico--type-comment-blue linkPlain space--h-3"href="<ENSTYLER-HREF-HERE>#comment-form" data-handler="track" data-track="{"action":"scroll_to_comment_add_form","label":"engagement"}">', '<span class="hide--toW3"><EN-LANG:post></span><span class="hide--fromW3 hide--toW2"><EN-LANG:po></span>', "", "</a>", '<a title="<EN-LANG:remove>" class="link text--color-blue ico ico--type-bookmark-blue linkPlain ico--pos-l space--h-3"data-handler="track replace" data-replace="{"endpoint":"https://www.mydealz.de/threads/<ENSTYLER-THREADID-HERE>/remove","method":"post"}" data-track="{"action":"save_thread","label":"engagement"}">', '<span class="hide--toW3"><EN-LANG:remove></span><span class="hide--fromW3 hide--toW2"><EN-LANG:rem></span>', "", "</a>", '<a title="<EN-LANG:edit>" class="link text--color-blue ico ico--type-pencil-blue linkPlain ico--pos-l space--h-3"href="<ENSTYLER-HREF-HERE>/edit" data-handler="track" data-track="{"action":"goto_Update startededit_form","beacon":true}">', '<span class="hide--toW3"><EN-LANG:edit></span><span class="hide--fromW3 hide--toW2"><EN-LANG:ed></span>', "", "<span></a>", '<a title="<EN-LANG:mail>" class="link text--color-blue ico ico--type-mail-blue linkPlain ico--pos-l space--h-3"href="mailto:?subject=<ENSTYLER-TEXT-HERE>" <span class="hide--toW3">', '<span class="hide--toW3"><EN-LANG:mail></span><span class="hide--fromW3 hide--toW2"><EN-LANG:ma></span>', "", "<span></a>", '<a title="<EN-LANG:mail>" class="btn btn--whatsapp btn--circle size--all-xs space--ml-2" style="background-color: #69be28;"', 'href="mailto:?subject=<ENSTYLER-TEXT-HERE>"><span class="ico ico--type-mail-white ico--reduce size--all-xxl">', "</span></a>", "</span></a>" ], enDealFlame = '<span class="vote-tempIco ico ico--type-flame2-red threadTempBadge-icon" style="position: unset; margin-left: .5em;"></span>', enDealIce = '<span class="vote-tempIco ico ico--type-snowflake-blueTint threadTempBadge-icon" style="position: unset; margin-left: .5em;"></span>', enHideTemp = ".threadTempBadge { display: none; } .flex--justify-space-between { justify-content: unset !important; }", enDealMarker = "#thread_", enDealAdd = "", enSocialAdd, enDealUnbook = !1, enDealFooter = "", enCSSDealz, enMyCSSID, myDealAction, myTouch, myFixHtml, myVotebar, myVotescale, myCompact, EnstylerPageEnum = "enPageEnum", selectList = document.createElement("select"); selectList.id = EnstylerPageEnum, selectList.setAttribute("class", EnstylerPageEnum), selectList.onchange = EnstylerPageAction; var enClassHidden = "enClassHidden", enClassBlackDone = "enClassBlackDone", enBlacklisted = 0, unwantedRegex = [ /[\[\]\(\)\{\}\?\:\;\!\"\*\+\ ]/g, /[\[\]\(\)\{\}\?\.\:\;\!\"\*\+\,]/g ], enBlack, enBlackTrue, enWhite, enWhiteTrue, enBlackTemp, myFixedCSS = { every: ".enFixedNav { display: block; position: fixed; width: 100%; z-index: 120;} .subNav, .profileHeader, .tabbedInterface, .splitPage-wrapper {margin-top: <ENSTYLER-TEXT-HERE>px}", subnav: ".subNav {margin-top: 0 !important;} .nav-subheadline {margin-top: <ENSTYLER-TEXT-HERE>px}", discus: ".tGrid.page2-center.height--all-full {margin-top: calc(<ENSTYLER-TEXT-HERE>px + 10px);} #footer .page-content { padding-top: calc(<ENSTYLER-TEXT-HERE>px + 10px);}" }, DealDate = new Date(), TodayStart = new Date(), EnstylerTimeSeen = "enTimeSeen", today = "", oclock = "", yesterday, enNewestBase = "enNewest" + enInternationalSite, enSec = enNewestBase + "-" + enSection.replace(/\//, ""), LastSeenOnce = !0, enSeenArticle = "", enLoadedArticle = "", enUpdateUrl = "https://userstyles.org/styles/128262/enstyler2-style-your-mydealz.css", MyCSS = "Enstyler2_CSS", enCssOpt = "EnstylerCssOpt", enMainSectionMatch = /^\/$|^\/hot$|^\/new$|^\/settings$|^\/discussed$|^\/hei%C3%9F$|^\/diskutiert$/, enHREF = "href", enID = "id", enTEXT = "text", enPATTERN = { href: /<ENSTYLER-HREF-HERE>/g, id: /<ENSTYLER-THREADID-HERE>/g, text: /<ENSTYLER-TEXT-HERE>/g }, enNavEntry = "enNavEntry", enMenuItemCode = { Main: '<a class="enNavEntry navMenu-link" id="<ENSTYLER-THREADID-HERE>" href="<ENSTYLER-HREF-HERE>" data-handler="track" data-track="{"action":"goto_main_target","beacon":true}"><span class="navMenu-link-ico ico ico--type-discussion-navMenuLayerItem navMenu-ico--selected--type-discussion navMenu-ico--hover--type-discussion"></span><ENSTYLER-TEXT-HERE></a>', Sub: '<li class="enNavEntry subNavMenu-item--separator test-tablink-discussed"><a href="<ENSTYLER-HREF-HERE>" class="subNavMenu-item subNavMenu-link space--h-4 vAlign--all-m" id="<ENSTYLER-THREADID-HERE>" data-handler="track" data-track="{"action":"goto_menu_target sort","label":"diskutiert","beacon":true}"><span class="box--all-i size--all-xl vAlign--all-m"><ENSTYLER-TEXT-HERE></span><span class="js-vue-container--threadcount" data-handler="vue" data-vue="{"count":null}"></span></a></li>', MainButton: '<a class="enNavEntry navMenu-link" id="<ENSTYLER-THREADID-HERE>"><span class="navMenu-link-ico ico ico--type-discussion"></span><ENSTYLER-TEXT-HERE></a>', SubButton: '<li class="enNavEntry subNavMenu-item--separator test-tablink-discussed"><a class="subNavMenu-item subNavMenu-link space--h-4 vAlign--all-m" id="<ENSTYLER-THREADID-HERE>"><span class="box--all-i size--all-xl vAlign--all-m"><ENSTYLER-TEXT-HERE></span></a></li>' }, enMenuItemLength = enMenuItemCode.length, EnstylerButton = "EnstylerButton", enNavIconPat = "--type-discussion", enAddMain = "", enAddMainFunc = [], enAddMainCount = 0, enJSAutoUpdate = GM_info.scriptWillUpdate, enUpdateWindow, enUnblackText = enLangLocalize("<EN-LANG:unblack> <ENSTYLER-TEXT-HERE> Dealz", enConfigLang, enLANG), enJSfieldDefs = { enstylerCSS: { section: [ confLang("features"), "" ], label: confLang("configcss"), type: "button", click: function() { enUpdateWindow = window.open("https://userstyles.org/styles/128262", "UserCSS", "left=0,top=0"), GM_setValue("enLastUpdateCheck", 0); } }, enstylerJS: { label: confLang("userscript"), type: "button", click: function() { sleepAsync((enUpdateWindow = window.open("https://greasyfork.org/scripts/24243-enstylerjs/code/EnstylerJS.user.js", "UserScript", "width=110,height=110,left=0,top=0")).close, 5e3); } }, dontCookies: { label: confLang("cookies"), type: "button", click: function() { window.open("https://addons.mozilla.org/firefox/addon/self-destructing-cookies/"); } }, mobileDebugClear: { label: "Clear Debuglog", type: "button", click: function() { mobileClearLog(); } }, mobileDebugShow: { label: "Show Debuglog on mobile", type: "button", click: function() { mobileShowLog(); } }, enConfInjectCSS: { label: confLang("injectcss"), type: "checkbox", default: !0 }, Section: { section: [ confLang("config"), "" ], type: "hidden" }, enConfNavFixed: { label: confLang("navfixed"), type: "checkbox", default: !0 }, enConfDealAction: { label: confLang("dealaction"), type: "checkbox", default: !0 }, enConfDealVotebar: { label: confLang("dealvotebar"), type: "checkbox", default: !0 }, enConfDealVotescale: { label: confLang("dealvotescale"), type: "select", options: enSiteConfig.votescale, default: "500" }, enConfTouch: { label: confLang("touch"), type: "checkbox", default: !0 }, enConfCompact: { label: confLang("compact"), type: "checkbox", default: !1 }, enConfCSSDealz: { label: confLang("cssdealz"), type: "checkbox", default: !0 }, enConfAmazonRedirect: { label: confLang("amazon"), type: "checkbox", default: !0 }, enConfPagePicker: { label: confLang("picker"), type: "checkbox", default: !0 }, enConfDealTime: { label: confLang("dealtime"), type: "checkbox", default: !0 }, enConfFixHtml: { label: confLang("fixhtml"), type: "checkbox", default: !0 }, enConfBlackEnable: { label: confLang("blacklist"), type: "checkbox", default: !0 }, enConfHideColder: { label: confLang("blackcold"), type: "select", options: enSiteConfig.blackcold, default: "-20" }, enConfBlacklist: { label: confLang("black"), type: "text", size: 70, default: confLang("examples") }, enConfWhitelist: { label: confLang("white"), type: "text", size: 70, default: "" }, enConfUnblacklist: { label: confLang("unblack"), type: "button", click: function() { EnstylerBlacklistUnhide(); } }, enConfLang: { label: confLang("lang"), type: "select", options: enSiteConfig.languages, default: "" }, syncsection: { section: [ confLang("syncconf"), "" ], type: "hidden" }, enConfAutoSync: { label: confLang("autosync"), type: "checkbox", default: !0 }, enConfSyncTime: { label: confLang("synctime"), type: "select", options: enSiteConfig.synctimes, default: "10" }, enSyncKeyInput: { label: confLang("synckey"), type: "text", size: 16, save: !1, default: "off" }, enConfSyncKey: { type: "hidden", default: enSyncOff }, enConfSync: { label: confLang("sync"), type: "button", click: function() { SyncSettings(); } } }, enSaveSettings = [ "enConfNavFixed", "enConfDealAction", "enConfDealVotebar", "enConfTouch", "enConfAmazonRedirect", "enConfPagePicker", "enConfFixHtml", "enConfDealTime", "enConfBlackEnable", "enConfHideColder", "enConfDealVotescale", "enConfBlacklist", "enConfWhitelist", "enConfLang", "enConfAutoSync", "enConfCompact" ], enHomefieldDefs = { saveOpt: { section: [ confLang("savecss"), "" ], label: confLang("howtocss"), type: "textarea", size: 70 }, enConfInjectCSS: { label: confLang("injectcss"), type: "checkbox", default: !0 }, enConfLang: { type: "hidden", options: enSiteConfig.languages, default: "" } }, enGMFrame = document.createElement("div"); enGMFrame.setAttribute("class", "GM_config"); var enGMConfigOpen = !1, enRemoveConfig = [ { check: !1, switch: "enConfBlackEnable", remove: "enConfWhitelist" }, { check: !1, switch: "enConfBlackEnable", remove: "enConfBlacklist" }, { check: !1, switch: "enConfBlackEnable", remove: "enConfHideColder" }, { check: !1, switch: "enConfBlackEnable", remove: "enConfUnblacklist" } ], enSettings = "enSettings", syncCheckBug = 1; if (window.location.hostname.endsWith("userstyles.org")) GM_config.init({ id: "GM_config", title: confLang("headline") + " CSS", fields: enHomefieldDefs, events: { open: function() { confLangOpen(); }, save: function() { enSaveCSS(), GM_config.close(), sleepAsync(window.close, 1e3); }, close: function() { enGMConfigOpen = !1; } }, frame: enGMFrame }); else { var enFixedNavLast = !1; GM_config.init({ id: enInternational ? "GM_config" + enInternationalSite : "GM_config", title: confLang("headline"), fields: enJSfieldDefs, events: { init: function() { GM_config.fields.enSyncKeyInput.value = GM_config.fields.enConfSyncKey.value; }, open: function(e) { syncCheckBug = 1, GM_config.get("enConfSyncKey").length < 6 && (GM_config.set("enConfSyncKey", enSyncOff), checkSyncReset()), $("#GM_config_field_enSyncKeyInput").on("change", function() { checkSyncSettings(); }), enFixedNavLast = GM_config.get("enConfNavFixed"), confLangOpen(), $(enRemoveConfig).each(function() { GM_config.get(this.switch) == this.check && GM_config.fields[this.remove].remove(); }), enJSAutoUpdate && GM_config.fields.enstylerJS.remove(), isMozilla || GM_config.fields.dontCookies.remove(), GM_config.fields.mobileDebugShow.remove(), GM_config.fields.mobileDebugClear.remove(); }, save: function() { "auto" == GM_config.get("enConfLang") ? GM_setValue("enLang", "") : GM_setValue("enLang", GM_config.get("enConfLang")), SaveSettings(), GM_config.get("enConfNavFixed") || GM_config.get("enConfNavFixed") == enFixedNavLast || window.location.reload(!1), GM_config.close(), enCheckUpdates(), EnstylerStart(), EnstylerMenuActions(), EnstylerPagePickerCreate(); }, close: function() { enGMConfigOpen = !1, enCheckUpdates(); } }, frame: enGMFrame }), enSyncKey = GM_config.get("enConfSyncKey"), enAutoSync = GM_config.get("enConfAutoSync"), enSyncInterval = GM_config.get("enConfSyncTime", enSyncInterval); } var enCSS = [ ".threadWidget-footer::after {display: none !important};", ".GM_config {left: 5% !iportant; top: 8% !important; height: auto !important; max-width: 35em !important; background-color: white;}", ".GM_config input, .GM_config button, .GM_config textarea { border: 1px solid; margin: 0.5em 0em 0.2em 1em; padding: 0.1em;}", ".GM_config .reset { font-size: 9pt; padding-right: 1em; }", ".GM_config { border: none !important; box-shadow: 1px 6px 9px -1px rgba(0, 0, 0, 0.3); left: 8% !important; height: auto !important; min-width: 21em; max-width: 37em !important; }", ".GM_config .config_header {font-size: 14pt !important; border: none !important; padding-top: 0.5em; color: #69be28; font-weight: bold; text-align: center;}", ".GM_config .section_header { border: none !important; background-color:#005293 !important; color: #8eaacd !important; text-align: center; margin-top: 1em;}", ".GM_config .field_label:hover {color: white;}", '.GM_config div[id$="_section_0"] {text-align: center;}', ".GM_config .config_var {display: inline-block;}", ".GM_config .field_label {display: inline-block; min-width: 14em; margin-left: 2em; }", ".GM_config button, .GM_config input[type=button] { font-weight: bold; text-align: center; color: #fff; background-color: #58a618 !important; }", ".GM_config button:hover {background-color: #a5d867 !important; border-color: #a5d867 !important;}", ".enClassHidden, #EnPopup_closeBtn {display: none;}" ].join(" "), enMainHeigth, input = document.createElement("input"); input.type = "button", input.setAttribute(enID, EnstylerButton), input.onclick = showEnstylerCSS, input.value = confLang("options"), !enLocParser.hostname.endsWith("usertyle.org") && enLocParser.search.match(/ik-maxwidth/i) && enCatchCSS(); var isMozilla = void 0 === GM_info.scriptHandler || !GM_info.scriptHandler.startsWith("Tamp"), enUserScript = { detect: /.*?@-moz-document .*?\{\s*/, split: /^.*?\{/, next: /}\s*@-moz-document.*/ }, enCSSmax = 16100, enStripComments = /\/\*.*?\*\/| *|\t/g, enFixCSS = /1111.11%/g, enTranslateQuery = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=<ENSTYLER-LANG-HERE>&dt=t&q=<ENSTYLER-HTML-HERE>", enMaxTrans = 300, enSaveURL = "https://dealz.rrr.de/enstyler/save.php?", enSaveUrlLast = ""; WaitForBody();