您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
MyDealz Enstyler enhanced features
当前为
// ==UserScript== // @name Enstyler // @namespace dealz.rrr.de // @description MyDealz Enstyler enhanced features // @author gnadelwartz // @license LGPL-3.0; http://www.gnu.org/licenses/lgpl-3.0.txt // @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 4.00.142 // @grant GM_getValue // @grant GM_setValue // @grant GM_xmlhttpRequest // @require https://unpkg.com/umbrellajs // @require https://cdn.rawgit.com/gnadelwartz/GM_config/3bfccb1cb4238694566ec491ee83d8df94da18d5/GM_config-min.js // @require https://cdn.rawgit.com/gnadelwartz/Enstyler/0f9712b759d8312b93e864a09e71d93fb89ba75e/translations.js // @require https://cdn.rawgit.com/pieroxy/lz-string/c58a22021000ac2d99377cc0bf9ac193a12563c5/libs/lz-string.min.js // @require https://cdn.rawgit.com/gnadelwartz/crypto/7067ee62f18c76dd4a9d372a00e647205460b62b/sha256.js // @require https://cdn.rawgit.com/gnadelwartz/sjcl/20de886688dcabda2da1a42cd89790aacc987b09/sjcl.js // @run-at document-start // @noframes // ==/UserScript== // @ the original development source with comments can be found here: https://greasyfork.org/de/scripts/24244-enstylerjs-develop // @ if you don't trust this minimized script use the development source. function EnstylerInit() { (enUserLogin = u(".avatar--type-nav").length) ? (enUserName = (enUserName = u(".navDropDown a").attr(enHREF)).replace(/.*\/profile\/([^\/]+).*/, "$1"), GM_setValue("enCSyncUser", enUserName)) : enUserName = GM_getValue("enCSyncUser", ""), enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1"); } function EnstylerDealActions() { if (enTransTags = 5, myDealAction) { u("footer ul").length && (enDealFooter = "%0D%0A%0D%0A-- %0D%0A" + u("footer ul li p").first().innerHTML.replace(/<br>/g, "%0D%0A").replace(/<.*?>/g, "")); var e = enLocParser.pathname; switch ("" != enUserName && (e = e.replace(enUserName + "/", "")), enDealAdd = enDealAction[0] + enDealAction[1] + enDealAction[3], !0) { case e.endsWith("profile/saved-deals"): enDealAdd += enDealAction[4] + enDealAction[5] + enDealAction[7], enDealUnbook = !0; break; case e.endsWith("profile/diskussion"): case enUserLogin && e.endsWith(enUserName): enDealAdd += enDealAction[8] + enDealAction[9] + enDealAction[11]; } enDealAdd = enLangLocalize(enDealAdd + enDealAction[12] + enDealAction[13] + enDealAction[15], enDealLang, enLANG), enSocialAdd = enLangLocalize(enDealAction[16] + enDealAction[17] + enDealAction[19], enDealLang, enLANG); } EnstylerDealActionsDo(); } function EnstylerDealActionsDo() { var e, n, t, a, o, i, r, l, s, c; enMyCSSID = genUserKey(MyCSS), (myDealAction || myTouch || myFixHtml || myVotebar || myPrice || enBlackTemp == enValOff) && (u("article").not(".enClassActionDone, ." + enClassHidden).each(function(d) { if (u(d).addClass("enClassActionDone"), !u(d).hasClass("threadWidget--type-card--item")) if (null !== (e = u(d).attr(enID))) { if (c = "c" != e[0], enBlackTemp != enValOff) { if (c ? (t = (u(d).find(".thread-title a").text() + " @" + u(d).find("a.user").text()).replace(/\n|\r|\t+/g, " "), l = null !== (l = u(d).find(".vote-temp")).text() ? parseInt(l.text()) : 0) : (t = (u(d).find(".userHtml").text() + " @" + u(this).find("a.user").text()).replace(/\n|\r|\t+/g, ""), l = 0), t = t.replace(unwantedRegex[1], " "), enWhiteTrue && t.match(enWhite)) return; (enBlackTemp >= l || enBlackTrue && t.match(enBlack)) && (u(d).addClass(enClassHidden), enBlacklisted++); } myFixHtml && u(d).find(".userHtml").each(function(e) { u(e).html(u(e).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")); }), myPrice && c && (t = u(d).find(".thread-price.text--b")).length && ((o = u(d).find(".cept-dealBtn")).hasClass("ico--type-redirect-white") ? o.html(t.html()) : o.html(t.html() + '<span class="ico ico--type-redirect-white size--all-xl space--l-1"></span>'), u(d).find(".cept-tb").html(t.html())), u(d).find(".userHtml").first(), n = u(d).find(".cept-comment-link"), t = u(d).find(".thread-title a"), s = t.length, myDealAction && c && (s || (t = u(d).find(".thread-title"), enTransTags = 20), (i = u(d).find(".vote-temp")).length && (i = parseInt(i.text()), myVotebar && (l = u(d).find(".vote-temp").attr("class").replace(/.*charcoal|.*vote-temp--/i, ""), 0 > (r = i / (myVotescale / 70) + 5) && (r *= -3), u(d).prepend('<div class="votebar vote-progress voteBar--' + l + '" style="width: ' + r + '%;"></div>'), u(d).hasClass("thread--type-card") && (i = 0), i > myVotescale / 2.51 ? u(d).prepend(enDealFlame) : -myVotescale / 10.1 > i && u(d).prepend(enDealIce))), s ? (u(d).find("span.meta-ribbon.hide--toW3").removeClass("hide--toW3"), u(d).find(".threadGrid-title .thread-title.lineClamp--2").removeClass("lineClamp--2"), a = t.first().outerHTML.replace(/\n|\r|\t/g, "").replace(/^.*href="/, "").replace(/".*/, ""), o = enDealComposeAction(u(this), t.text(), a, enDealAdd), n.append(o)) : (enCCMail && u(d).find("a.btn--twitter").length && (o = u(d).find("a.btn--twitter").first().outerHTML.replace(/&text=/g, "?ID=" + enMyCSSID + "&text="), u(d).find("a.btn--twitter").replace(o), o = u(d).find("a.btn--facebook").first().outerHTML.replace(/&title=/g, "?ID=" + enMyCSSID + "&title="), u(d).find("a.btn--facebook").replace(o), o = u(d).find("a.btn--whatsapp").first().outerHTML.replace(/" rel="no/, "?ID=" + enMyCSSID + '" rel="no'), u(d).find("a.btn--whatsapp").replace(o)), o = enDealComposeAction(u(this), t.text(), "" + enLocParser, enSocialAdd), u(d).find("a.btn--twitter").parent().append(o))), c && (o = u(d).find(".threadGrid-image, .threadCardLayout--row--image")).length && o.html(o.html().replace(/ img--dummy.*" data-lazy-img="{"src":"/, '" src="').replace(/","finishClass":.*">/, '">')); } else u(d).remove(); }), EnstylerBlacklistShow()); } function enDealComposeAction(e, n, t, a) { 100 > (n = encodeURIComponent(("Gnadelwartz" == enUserName ? "KayDealz" : enInterName) + ": " + n.replace(/\r|\n|\t/g, " ").replace(/ */g, " "))).length && e.find("span.thread-price").length && (n += encodeURIComponent(" -> " + e.find("span.thread-price").text().replace(/ |\t/g, ""))); var o = t; return enCCMail && (o = t.replace(/^https:\/\/.*?\//, "https://dealz.rrr.de/" + enInterName + "/") + "?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 EnstylerBlacklist() { enUserLogin && !GM_config.get("enConfWhitelist").includes(enUserName) && GM_config.set("enConfWhitelist", "@" + enUserName + "," + 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("enCBlackC"), enBlackTrue = enBlackTrue && enBlackTemp != enValOff; } function EnstylerBlacklistShow() { enConfDefs.default.enCUnblackL.label = enUnblackText.replace(enPATTERN[enTEXT], enBlacklisted); } function EnstylerBlacklistUnhide() { enBlacklisted = 0, EnstylerBlacklistShow(), u("." + enClassHidden).removeClass(enClassHidden); } function EnstylerPagePickerCreate() { if (GM_config.get("enCPageP")) { var e, n, t, a = 1, o = 1; if (u(selectList).empty(), u("div.text--color-charcoalTint").length) { var i = u("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(a - x), 10 > x || 5 > e ? x++ : 1e3 > x && e > 600 ? x += e / 3.5 : x += Math.floor(e / 2), e > 9 && x > 9 && (50 > e || 50 > x ? x = 2 * Math.floor(x / 2) : x = 5 * Math.floor(x / 5)); a > o && (o = a), o > n && ((t = document.createElement("option")).text = o, selectList.add(t)), selectList.value = a; var r = [ ".js-navDropDown-messages", enPEnum + " js-navDropDown-messages vAlign--all-m" ]; u(".test-loginButton").length && (r[0] = ".test-loginButton"), u(".voteBar").length && (r = [ ".voteBar--sticky-off--hide.hAlign--all-r", enPEnum + " subNavMenu-link subNavMenu-btn voteBar--sticky-off--hide" ]), selectList.setAttribute("class", r[1]), u(r[0]).before(selectList); } } function EnstylerPagePickerDo() { location.search.match(/^page=/) ? selectList.value = parseint(location.search.replace(/^page=/, "")) : u(".js-sticky .text--color-charcoalTint").length && (selectList.value = parseInt(u(".js-sticky .text--color-charcoalTint").html().replace(/\r?\n|\r/g).split('--toW2">' + EnstylerSiteConfig("page"))[1])); } function EnstylerPageAction() { var e = document.getElementById(enPEnum), n = "page=" + e.options[e.selectedIndex].value, t = ("" + enLocParser).replace(/page=.*|#.*/, ""); t.endsWith("?") || t.endsWith("&") ? t += n : t += "?" + n, "/deals/" == enSection && (t += "#thread-comments"), window.location = t; } function EnstylerFixedNav() { var e = u(".subNavMenu .subNavMenu-layer").first(); if (GM_config.get("enCNavF")) if ("/deals/" != enSection && "/gutscheine/" != enSection) { var n = u("header.js-sticky").html(); u("header.forceLayer").replace('<header class="enFixedNav">' + n + "</header>"); var t = myFixedCSS.every; enSection == EnstylerSiteConfig("discussion") && (t += myFixedCSS.discus), (u(".nav-subheadline").length || "/profile/" == enSection) && (t += myFixedCSS.subnav), addStyleString(t = t.replace(enPATTERN[enTEXT], enMainHeigth)); } else e = u(".vote-box").first(); e && e.after(enMenuButton); } function EnstylerDealTime() { TodayStart.setHours(0, 0, 0, 0), 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 (myDealTime) { var e, n, t, a = Date.now(); u(".meta-ribbon, time, .metaRibbon").not("." + EnstylerTimeSeen).each(function(o) { if (u(o).addClass(EnstylerTimeSeen), !(e = u(o).html()).includes(" am ")) { switch (DealDate.setTime(a - (60 * parseInt(e.replace(/.* ([0-9].*) [hu].*|.*/, "$1")) + parseInt(e.replace(/.* ([0-9].*) m.*|.*/, "$1"))) * enTime2Min), n = (a - DealDate) / enTime2Min, t = ("" + DealDate).slice(16, 21), !0) { case 5 > t.length || 60 > n: return; case n > 1440: e += " (" + t + oclock + ")"; break; case TodayStart > DealDate: e = yesterday + t + oclock; break; default: e += " (" + today + t + oclock + ")"; } u(o).html(e); } }); } } function EnstylerLastSeen() { if (LastSeenOnce) if (LastSeenOnce = !1, enSection.match(enMainSectionMatch)) { if (enSeArt = GM_getValue(enSec, ""), SyncLastSeen(), EnstylerLastSeenDo(), "" == enLocParser.search) { var e = !1; u("article").not(".threadWidget-item").each(function(n) { e || 0 != u(n).find(".cept-pinned-flag").length || (GM_setValue(enSec, u(n).attr(enID)), GM_setValue(enSec + "Last", enSeArt), SaveLastSeen(), e = !0); }); } } else EnstylerLastSeenLast(); } function EnstylerLastSeenDo() { "" != enSec && (GM_setValue("enLastCheck" + enSec, Date.now() / enMs2Min), enSeArt ? (GM_setValue(enSec + "Last", enSeArt), u("#" + enSeArt).addClass("enClassMarkArticle"), enLaArt.startsWith("thread_") && u("#" + enLaArt).addClass("enClassMarkArticleLoad")) : GM_setValue(enSec, "thread_1")); } function EnstylerLastSeenLast() { var e = GM_getValue(enNewestBase + "LastSec", ""); GM_setValue(e, GM_getValue(e + "Last", "")); } function enCheckUpdates() { var e = Date.now() / enMs2Min - GM_getValue("enLastUpdateCheck", "0"); (e > enUpdInt || 0 > e) && 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(":"); 2 > a.length || (e += "&" + a[1].slice(0, -1) + "=" + a[1]); } return e = "?" + e.slice(1); } function EnstylerMenuActions() { enInter || EnstylerAddNav("Main", "<EN-LANG:discussion>", EnstylerSiteConfig("discussion"), "enMainDiscussion"), EnstylerAddNav("Main", "<EN-LANG:enstyler>", '<EN-LANG:enhref>" target="_blank', "enMainHomepage", "home"), EnstylerAddNav("Main", "Enstyler Discussion", "https://www.mydealz.de/diskussion/enstyler-856062", "enMainHomepage", "page"), EnstylerAddNav("MainButton", "<EN-LANG:settings>", showEnstylerConfig, EnstylerButton, "gear-grey"); } function EnstylerAddNav(e, n, t, a, o) { void 0 !== o && "" != o || (o = enNavIconPat); var i = !1, r = enMenuItemCode[e].replace(enPATTERN[enID], a).replace(enPATTERN[enTEXT], n); o != enNavIconPat && (r = r.split(enNavIconPat).join("--type-" + o)), "function" == typeof t ? i = !0 : r = r.replace(enPATTERN[enHREF], t), "M" == e[0] && ("" == enAddMain && u(".nav-link.navMenu-trigger").on("click", function() { setTimeout(EnstylerMainDo, 200); }), enAddMain += r, i && (enAddMainFunc[enAddMainCount++] = { ID: a, target: t })); } function EnstylerMainDo() { u(".popover-content nav .navMenu-div").first().insertAdjacentHTML("beforebegin", enLangLocalize(enAddMain, enMenuLang, enLANG)); var e = u(".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; enAddMainCount > t; t++) u("section #" + enAddMainFunc[t].ID).on("click", enAddMainFunc[t].target); } function confLang(e) { return enLangLocalize("<EN-LANG:" + e + ">", enConfigLang, enLANG); } function confMess(e) { return enLangLocalize("<EN-LANG:" + e + ">", enMessageLang, enLANG); } function showEnstylerConfig() { u("body").prepend('<div id="enOverDim"></div>'), GM_config.open(), document.getElementById("main").click(), enGMConfigOpen = !0; } function closeEnstylerConfig() { u("#enOverDim").remove(), enGMConfigOpen = !1; } function confLangOpen() { u('.GM_config button[id$="_saveBtn"]').html(confLang("save")), u('.GM_config button[id$="_closeBtn"]').html(confLang("close")), u("#GM_config_resetLink").html(confMess("reset")); } function SyncSettings() { EnGetValue(enCssOpt, enSetValue), EnGetValue(enSettings, enSetSettings); } function SaveSettings() { 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() { enAutoSync && (GM_config.get("enCSyncT"), Date.now() / enMs2Min - GM_getValue("enLastCheck" + enSec, "0") > 5 && (delay = 500), setTimeout(function() { EnSaveValue(enSec, GM_getValue(enSec, "")); }, GM_config.get("enCSyncT", 10) * enMs2Min / 2)); } function SyncLastSeen() { if (enAutoSync) { var e = Date.now() / enMs2Min, n = e - GM_getValue("enLastCheck" + enSec, "0"); (n > enSyncIn || 0 > n) && (GM_setValue("enLastCheck" + enSec, e), EnGetValue(enSec, enSetLastSeen)); } } function enSetLastSeen(e, n) { enLaArt = n, EnstylerLastSeenDo(), enLaArt.replace(/thread_/i, "") > enSeArt.replace(/thread_/i, "") && enSetValue(e + "Last", n); } function enSaveMyCSS() { EnSaveValue(MyCSS, enCSS + GM_getValue(MyCSS, "").replace(/^.*?{/, "").replace(/} *@-moz-document.*/, ""), !1); } function enSetSettings(e, n) { for (var t = n.split("&"), a = 0; a < t.length; a++) { var o = t[a].split("="); o.length >= 2 && enSaveSettings.includes(o[0]) && ("false" == o[1] ? GM_config.fields[o[0]].value = !1 : GM_config.fields[o[0]].value = o[1], GM_config.fields[o[0]].reload()); } } function enAmazonMobileRedirect() { var e = enLocParser.href; return !!e.startsWith("https://www.amazon") && (GM_config.get("enCRedirect") && (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)), !0); } function EnstylerStart() { EnstylerFixedNav(), EnstylerLastSeen(), EnstylerDealTime(), EnstylerBlacklist(), EnstylerDealActions(); } function EnstylerRedo() { EnstylerLastSeenDo(), EnstylerPagePickerDo(), EnstylerDealTimeDo(), EnstylerDealActionsDo(); } function EnstylerDelayedInit() { var e = shadeRGBColor(getStyle(u(".nav").first(), "background-color"), .1), n = shadeRGBColor(getStyle(u(".btn--mode-special").first(), "background-color"), .1), t = shadeRGBColor(e, .7), a = medainRGBColor(getStyle(u("#main").first(), "background-color")) > 100 ? "" : ".notification-item {color: #111;} body, .user, .thread-title, .subNavMenu-link {color: #aaa !important} .notification-item--read, .card-title, .mute--text, .userHtml-quote, .userHtml .userHtml-quote-source, .widget-title, .linkGrey, .thread-userOptionLink, .btn--mode-white--dark, .btn--mode-boxSec, .thread--expired.thread--type-card, .thread--expired.thread--type-list {color: #888;} article, section {border: 1px #666 solid} img, .votebar, .vote-tempIco, .vote-temp, .vote-temp--hot, .text--color-red, .vote-btn, .emoji, .ico, .dot {filter: grayscale(.25);}"; addStyleString(" .GM_config {background-color: " + e + " !important; color: " + t + ";} .GM_config .section_header, .GM_config .config_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;}" + a), myDealTime && u(".search-input").nodes[0].setAttribute("placeholder", new Date().toLocaleString("de-DE", { hour: "numeric", minute: "numeric" }) + enLangLocalize(" <EN-LANG:oclock>", enTimeLang, enLANG) + ("/" == enLocParser.pathname ? " (home)" : " (" + enLocParser.pathname.replace(/(^.*)[\/-]/, "") + ")")), EnstylerMenuActions(), EnstylerPagePickerCreate(), isMobile ? u("#main").on("DOMSubtreeModified", debounce(300, function() { window.requestAnimationFrame(EnstylerRedo); })) : u(".js-pagi-bottom").on("DOMSubtreeModified", debounce(200, function() { window.requestAnimationFrame(EnstylerRedo); })); } function WaitForBody() { if (!enAmazonMobileRedirect()) if (u("#messages-list").length || u("#footer").length) { if (enEarlyInit(), enLocParser.pathname.match(enDisableScript)) return; WaitForDOM(); } else window.requestAnimationFrame(WaitForBody); } function WaitForDOM() { var e = getStyle(u(".nav, #navigation").first(), "background-color").replace(/[^\(]*/, ""); u(".vwo-deal-button, #footer").length && "" != e ? MAIN() : window.requestAnimationFrame(function() { setTimeout(WaitForDOM, 80); }); } function enEarlyInit() { addStyleString(GM_getValue("Enstyler2_CSS", ""), 'domain("' + enLocParser.hostname), enCCMail = GM_config.get("enCCMail"), myDealAction = GM_config.get("enCDealA"), myTouch = GM_config.get("enCTouch"), myCompact = GM_config.get("enCCompact"), myPrice = GM_config.get("enCPrice"), myFixHtml = GM_config.get("enCFixHtml"), myVotescale = GM_config.get("enCDealVbar"), myVotebar = myVotescale != enValOff, myDealTime = GM_config.get("enCDealT"), myPrice && (enCSS += ".threadGrid-title .flex, .threadGrid-title .overflow--fade {display: none;}"), myCompact && (enCSS += ".threadGrid {padding: .3em !important;} .threadGrid-headerMeta, .threadGrid-title {height: 2.8em;}.thread-title {white-space: nowrap;} .threadGrid-headerMeta {height: 2.3em;} .thread--compact .threadGrid-image {display: none}.space--mt-2, .space--mv-2 {margin-top: .25em;} .vote-box {height: 2.1em} .votebar {top: 0;} .threadTempBadge-icon {font-size: 1.3em !important;}", myPrice && (enCSS += ".threadGrid-headerMeta, .threadGrid-title {height: 2em !important;}")), myTouch && (enCSS += "article .footerMeta-actionSlot .ico::before, article .threadItem-footerMeta .ico::before, article .threadCardLayout--row--small .ico::before, .thread-userOptionLink.ico:before {-webkit-transform: scale(1.7); transform: scale(1.7); width: 1.5em; left: .4em;}.ico--reduce3 {left: .5em;} #emergency {transform: scale(1.5); margin-left: .7em;}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} .thread-avatar { width: 2.3em; height: 2.3em;}"), myVotebar || (enCSS += ".threadTempBadge { display: unset; }"), myDealAction && (enCSS += "button.meta-ribbon-btn.hide--fromW3 {display: none}"), addStyleString(enCSS + enNavCSS); } function MAIN() { EnstylerInit(), enCheckUpdates(), document.body.appendChild(enGMFrame), addStyleString(".bg--off {background-color: " + shadeRGBColor(getStyle(u(".bg--main").first(), "background-color"), -.08) + "!important;}"), enMainHeigth = getOuterHeight("header"), EnstylerStart(), EnstylerStartupDelay = Date.now() - EnstylerStartTime, setTimeout(EnstylerDelayedInit, 300); } function enUserstyleDo() { document.body.appendChild(enGMFrame), addStyleString(enCSS + "#buttons {visibility: hidden;} #ownedButtons {visibility: visible; border: 1px solid red;}"), addStyleString(GM_getValue("Enstyler2_CSS", ""), "url(https://userstyles.org"), setTimeout(createEnstylerButton, 1e3); } function createEnstylerButton() { u("#advancedsettings_area").attr("class", "advancedsettings_shown"), u(".advanced_button").remove(), input.setAttribute("style", "font-size: 1.1em; padding: 0.8em;"), u("#button_middle").after(input), window.scrollTo(100, 600), enSetOptions(); } function saveEnstylerCSS() { enSaveOptions(), setTimeout(window.close, 1e3); } function enSaveOptions() { var e, n, t, a = ""; u("#style-settings select").each(function(o) { e = u(o).attr(enID), n = o.value, t = u("option[value=" + n + "]").text(), a += "#" + e + ":" + n + ":" + t + ";\n"; }), u("#style-settings input[type=text]").each(function(o) { e = u(o).attr(enID), n = o.value, a += "#" + e + ":" + n + ":" + (t = "RGB-Clolor") + ";\n"; }), u("#style-settings input:checked").each(function(o) { e = u(o).attr(enID), n = o.value, t = u("label[for=" + e + "]").text(), a += "#" + e + ":" + n + ":" + t + ";\n"; }), GM_config.set("saveOpt", a), GM_setValue(enCssOpt, a); } function enSetOptions() { 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") ? (u(a[0]).first().selectedIndex = "-1", u(a[0]).first().value = a[1]) : a[0].startsWith("#option") ? u(a[0]).first().checked = !0 : "" != a[0] && enDebugLog('ignoring unkown option: "' + a + '"'); } addStyleString("#button { display: none; }"); } } 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(":"); 2 > a.length || (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(enInterName, 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) && void 0 !== n[t] || (t = "en"), (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, r = enCSSmax; e.length > r && (o = e.substring(r).indexOf("}.")) > 0; ) addStyleString(e.slice(i, r += o + 1)), i = r, r += enCSSmax; var l = document.createElement("style"); l.innerHTML = e.slice(i), document.body.appendChild(l); } 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 shadeRGBColor(e, n) { if (void 0 === n && (n = .1), void 0 === e) return "rgba(0,0,0,0)"; var t = e.split(","), a = 0 > n ? 0 : 255, o = 0 > n ? -1 * n : n, i = parseInt(t[0].slice(4)), r = parseInt(t[1]), l = parseInt(t[2]); return "rgb(" + (Math.round((a - i) * o) + i) + "," + (Math.round((a - r) * o) + r) + "," + (Math.round((a - l) * o) + l) + ")"; } function medainRGBColor(e) { var n = e.split(","), t = parseInt(n[0].slice(4)), a = parseInt(n[1]), o = parseInt(n[2]); return Math.round((t + a + o) / 3); } function debounce(e, n) { var t = null; return function() { clearTimeout(t), t = setTimeout(function() { n.call(this); }, e); }; } /* curreently we assume its a CSS or JS File, so we strip comments and @namespace @moz-document... */ function enCacheExternalResource(e, n) { GM_xmlhttpRequest({ method: "GET", url: e, onload: function(e) { var t = e.responseText.replace(/\r\n/g, " ").replace(/\/\*.*?\*\/| *|\t/g, "").replace(/([:;]) /g, "$1").replace(/1111.11%/g, "100%"); GM_setValue(n, t), addStyleString(t); }, onerror: function() { alert(confMess("cssfailed")), GM_setValue("enLastUpdateCheck", 0); } }); } 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 EnSaveValue(e, n, t) { if ("" != enUserName && enSyncKey != enValOff) { 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 EnGetValue(e, n, t) { if ("" == enUserName && (enUserName = GM_getValue("enCSyncUser", "")), "" != enUserName && enSyncKey != enValOff) { 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 > 30 && n(e, t ? enDecrypt(a.responseText) : LZString.decompressFromEncodedURIComponent(a.responseText)); } }); } } function enSetValue(e, n) { GM_setValue(e + "", 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 genUserKey(e) { return sha256_hex(enUserName + ":" + enSyncKey + "&key=" + e); } function sha256_hex(e) { return Sha256.hash(e); } function getStyle(e, n) { if (window.getComputedStyle) try { return getComputedStyle(e).getPropertyValue(n); } catch (e) {} else if (e.currentStyle) try { return e.currentStyle[n]; } catch (e) {} return ""; } var DEBUG = !1, DEBUGXX = !0, DEBUGXXX = !1, DEBUGINT = !1, enLocParser = location, enInterSite = enLocParser.hostname.replace("www.", ""), enInterName = capitalizeFirstLetter(enInterSite.replace(/^\.|\..*/g, "")), enInter = "Mydealz" != enInterName, enUpdInt = 1440, enMs2Min = 6e4, enTime2Min = enMs2Min, enUserLogin = !1, enUserName = "", enSection = enLocParser.pathname.replace(/\/([^\/]+\/*).*/, "/$1"), enValOff = "off", enSyncKey = enValOff, enAutoSync = !1, enSyncIn = 5, isFirefox = "undefined" != typeof InstallTrigger, 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; mobileClearLog(); var enInitTime, enSocialAdd, enCCMail, enMyCSSID, myDealAction, myTouch, myFixHtml, myVotebar, myVotescale, myCompact, myPrice, myDealtime, enBlack, enBlackTrue, enWhite, enWhiteTrue, enBlackTemp, enDisableScript = /settings$/, enLangPat = /<EN-LANG:(.*?)>/g, enSiteLANG = void 0 === enSiteConfig[enInterName] ? "en" : enSiteConfig[enInterName].lang, enLANG = enSiteLANG, enHostpath = enLocParser.protocol + "//" + enLocParser.host + enLocParser.pathname, enDealAction = [ '<a title="<EN-LANG:post>" class="ico ico--reduce3 space--h-2 ico--type-plus-blue"href="<ENSTYLER-HREF-HERE>#comment-form" data-handler="track" data-track="{"action":"scroll_to_comment_add_form","label":"engagement"}">', "", "", "</a>", '<a title="<EN-LANG:remove>" class="ico ico--reduce3 space--h-1 ico--type-bookmark-blue"data-handler="track replace" data-replace="{"endpoint":"https://www.mydealz.de/threads/<ENSTYLER-ID-HERE>/remove","method":"post"}" data-track="{"action":"save_thread","label":"engagement"}">', "", "", "</a>", '<a title="<EN-LANG:edit>" class="ico ico--reduce3 space--h-1 ico--type-pencil-blue linkPlain3"href="<ENSTYLER-HREF-HERE>/edit" data-handler="track" data-track="{"action":"goto_Update startededit_form","beacon":true}">', "", "", "<span></a>", '<a title="<EN-LANG:mail>" class="ico ico--reduce3 space--h-1 ico--type-mail-blue"href="mailto:?subject=<ENSTYLER-TEXT-HERE>" <span class="hide--toW3">', "", "", "<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: absolute; display: block; margin-left: .3em; font-size: 2em;"></span>', enDealIce = '<span class="vote-tempIco ico ico--type-snowflake-blueTint threadTempBadge-icon" style="position: absolute; display: block; margin-left: .3em; font-size: 2em;"></span>', enDealMarker = "#thread_", enDealAdd = "", enDealUnbook = !1, enDealFooter = "", enClassHidden = "enClassHidden", enClassBlackDone = "enClassBlackDone", enBlacklisted = 0, unwantedRegex = [ /[\[\]\(\)\{\}\?\:\;\!\"\*\+\ ]/g, /[\[\]\(\)\{\}\?\.\:\;\!\"\*\+\,]/g ], enPEnum = "enPageEnum", selectList = document.createElement("select"); selectList.id = enPEnum, selectList.setAttribute("class", enPEnum), selectList.onchange = EnstylerPageAction; var 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" + enInterSite, enSec = enNewestBase + "-" + enSection.replace(/\//, ""), LastSeenOnce = !0, enSeArt = "", enLaArt = "", 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-ID-HERE>/g, text: /<ENSTYLER-TEXT-HERE>/g }, enNavEntry = "enNavEntry", enMenuItemCode = { Main: '<a class="enNavEntry navMenu-link" id="<ENSTYLER-ID-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-ID-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-ID-HERE>"><span class="navMenu-link-ico ico ico--type-discussion"></span><ENSTYLER-TEXT-HERE></a>' }, enNavGrid = '<div id="enButt"><a title="Grid Layout" id="enGrid" href="' + enHostpath + '?layout=grid"><img src="https://dealz.rrr.de/enstyler/grid.png"></a><a title="List Layout" id="enList" href="' + enHostpath + '?layout=horizontal"><img src="https://dealz.rrr.de/enstyler/list.png"></a><a title="Text Layout" id="enText" href="' + enHostpath + '?layout=text"><img src="https://dealz.rrr.de/enstyler/text.png"></a></div>', enNavCSS = "#enGrid, #enList, #enText { padding: 0.5em; } #enButt {left: 3em; top: 1em; padding-left: 4em; display: inline-block;}", enMenuItemLength = enMenuItemCode.length, EnstylerButton = "EnstylerButton", enMenuButton = document.createElement("input"); enMenuButton.type = "button", enMenuButton.setAttribute(enID, "emergency"), enMenuButton.onclick = showEnstylerConfig, enMenuButton.value = " ", enMenuButton.setAttribute("style", "background-position: -.00071em -176.85em; width: .85786em; display: inline-block; height: 1.42929em; background-image: url(https://assets.mydealz.de/assets/img/icons_5a065.svg); background-repeat: no-repeat; background-size: 5.50071em 590.57214em; cursor: pointer;"); var enUpdateWindow, enNavIconPat = "--type-discussion", enAddMain = "", enAddMainFunc = [], enAddMainCount = 0, enUnblackText = enLangLocalize("<EN-LANG:unblack> <ENSTYLER-TEXT-HERE> Dealz", enConfigLang, enLANG), enConfDefs = []; enConfDefs.default = { enCSS: { label: confLang("configcss"), title: confMess("configcss"), type: "button", click: function() { enUpdateWindow = window.open("https://userstyles.org/styles/128262", "UserCSS", "left=0,top=0"), GM_setValue("enLastUpdateCheck", 0); } }, enJS: { label: confLang("userscript"), title: confMess("userscript"), type: "button", click: function() { enUpdateWindow = window.open("https://greasyfork.org/scripts/24243-enstylerjs/code/EnstylerJS.user.js", "UserScript", "width=210,height=210,left=0,top=0"), setTimeout(enUpdateWindow.close, 5e3); } }, enCNavF: { label: confLang("navfixed"), title: confMess("navfixed"), type: "checkbox", default: !0, section: [ confLang("config"), "" ] }, enCMax: { label: confLang("max"), title: confMess("max"), type: "select", options: enSiteConfig.width, default: "1280" }, enCDealA: { label: confLang("dealaction"), title: confMess("dealaction"), type: "checkbox", default: !0 }, enCDealVbar: { label: confLang("dealvotebar"), title: confMess("dealvotebar"), type: "select", options: enSiteConfig.votescale, default: "500" }, enCTouch: { label: confLang("touch"), title: confMess("touch"), type: "checkbox", default: !0 }, enCWidth: { label: confLang("width"), title: confMess("width"), type: "select", options: enSiteConfig.width, default: enValOff }, enCPrice: { label: confLang("price"), title: confMess("price"), type: "checkbox", default: !1 }, enCCompact: { label: confLang("compact"), title: confMess("compact"), type: "checkbox", default: !1 }, enCCMail: { label: confLang("cssdealz"), title: confMess("cssdealz"), type: "checkbox", default: !0 }, enCRedirect: { label: confLang("redir"), title: confMess("redir"), type: "checkbox", default: !0 }, enCPageP: { label: confLang("picker"), title: confMess("picker"), type: "checkbox", default: !0 }, enCDealT: { label: confLang("dealtime"), title: confMess("dealtime"), type: "checkbox", default: !0 }, enCFixHtml: { label: confLang("fixhtml"), title: confMess("fixhtml"), type: "checkbox", default: !0 }, enCBlackC: { label: confLang("blacklist"), title: confMess("blacklist"), type: "select", options: enSiteConfig.blackcold, default: "-20" }, enConfBlacklist: { label: confLang("black"), title: confMess("black"), type: "text", size: 70, default: "" }, enConfWhitelist: { label: confLang("white"), title: confMess("white"), type: "text", size: 70, default: "" }, enCUnblackL: { label: confLang("unblack"), title: confMess("unblack"), type: "button", click: EnstylerBlacklistUnhide }, enCLang: { label: confLang("lang"), title: confMess("lang"), type: "select", options: enSiteConfig.languages, default: "auto" } }, enConfDefs.sync = { enCAutoS: { label: confLang("autosync"), title: confMess("autosync"), type: "checkbox", section: [ confLang("syncconf"), "" ], default: !0 }, enCSyncT: { label: confLang("synctime"), title: confMess("synctime"), type: "select", options: enSiteConfig.synctimes, default: "5" }, enCSyncKey: { label: confLang("synckey"), title: confMess("synckey"), type: "text", size: 16, default: enValOff }, enCSync: { label: confLang("sync"), title: confMess("sync"), type: "button", click: function() { SyncSettings(); } } }; var enSaveSettings = [ "enCNavF", "enCDealA", "enCDealVbar", "enCTouch", "enCRedirect", "enCPageP", "enCFixHtml", "enCDealT", "enCBlackC", "enConfBlacklist", "enConfWhitelist", "enCAutoS" ], enGMFrame = document.createElement("div"); enGMFrame.setAttribute("class", "GM_config"); var enMainHeigth, enGMConfigOpen = !1, enRemConf = [ { val: enValOff, field: "enCBlackC", rem: "enConfWhitelist" }, { val: enValOff, field: "enCBlackC", rem: "enConfBlacklist" }, { val: enValOff, field: "enCBlackC", rem: "enCUnblackL" }, { val: enValOff, field: "enCSyncKey", rem: "enCSync" }, { val: enValOff, field: "enCSyncKey", rem: "enCAutoS" }, { val: enValOff, field: "enCSyncKey", rem: "enCSyncT" } ], enSettings = "enSettings", enCSS = [ ".threadWidget-footer::after {display: none !important} .GM_config {color: white !important; opacity: 0.92 !important; left: 5% !important; height: auto !important; top: 1.4em !important; box-shadow: 10px 10px 20px black; min-width: 21em; max-width: 40em !important; border-radius: 10px} #enOverDim {background-color: black; z-index: 999; position: fixed; top: 0; right: 0; bottom: 0; left: 0; opacity: 0.5} .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 .config_header {font-size: 14pt !important; border: none !important; padding: 0.2em; font-weight: bold; text-align: center;} .GM_config .section_header { border: none !important; background-color:#005293 !important; !important; text-align: center; margin-top: 1em;} .GM_config .field_label:hover {color: gray;} .GM_config a:hover {text-decoration: underline; color: darkgray;} .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, .voteBar-- { display: none !important; } .votebar {display: inline-block; position: relative; top: .3em; height: .5em; margin-left: 2.5em; max-width: 80% } .voteBar--warm { background-color: #ffb612 } .voteBar--hot { background-color: #e00034 } .voteBar--burn { background-color: #e00034 } .voteBar--cold, .voteBar--colder { background-color:: #00a9e0 } .voteBar--cold, .voteBar--colder { background-color: #5bc6e8 } .threadTempBadge { display: none; } .flex--justify-space-between { justify-content: unset !important; }", ".page2-center, .thread-list--type-list--sideAds, .thread-list--type-list { max-width: " + GM_getValue("enMax", "") + "px !important;}" ].join(" "), EnstylerStartTime = Date.now(), input = document.createElement("input"); input.type = "button", input.setAttribute(enID, EnstylerButton), input.onclick = saveEnstylerCSS, input.value = confLang("options"); //var isIE = /*@cc_on!@*/false || !!document.documentMode; var enWidth = GM_getValue("enWidth", enValOff); isMobile && enWidth != enValOff && u("meta[name=viewport]").attr("content", "width=" + enWidth + "px, initial-scale=1"); var enUserScript = { detect: /.*?@-moz-document .*?\{\s*/, split: /^.*?\{/, next: /}\s*@-moz-document.*/ }, enCSSmax = 16100, enTranslateGoogle = "https://translate.googleapis.com/translate_a/single?client=gtx&sl=auto&tl=<ENSTYLER-LANG-HERE>&dt=t&q=<ENSTYLER-HTML-HERE>", enMaxTrans = 300, enTransTags = 5, enSaveURL = "https://dealz.rrr.de/enstyler/save.php?", enSaveUrlLast = "", enGMSave = !1; if (window.location.hostname.endsWith("userstyles.org")) return GM_config.init({ id: "GM_config", fields: { saveOpt: { type: "textarea" } }, frame: enGMFrame }), void (window.onload = function() { enUserstyleDo(); }); var enFixedNavLast = !1; GM_config.init({ id: enInter ? "GM_config" + enInterSite : "GM_config", title: confLang("headline"), fields: Object.assign(enConfDefs.default, enConfDefs.sync, enConfDefs.debug), events: { open: function() { enFixedNavLast = GM_config.get("enCNavF"), confLangOpen(), u("#GM_config_enJS_var").after(enNavGrid); for (var e = 0; e < enRemConf.length; e++) GM_config.get(enRemConf[e].field) == enRemConf[e].val && GM_config.fields[enRemConf[e].rem].remove(); isMobile || GM_config.fields.enCWidth.remove(); }, save: function() { SaveSettings(), GM_setValue("enWidth", GM_config.get("enCWidth")), GM_setValue("enMax", GM_config.get("enCMax")), GM_config.close(), showEnstylerConfig(), enSyncKey = GM_config.get("enCSyncKey"), enAutoSync = GM_config.get("enCAutoS"), enSyncIn = GM_config.get("enCSyncT", enSyncIn), enGMSave = !0; }, close: function() { closeEnstylerConfig(), enGMSave && window.location.reload(), enCheckUpdates(); } }, frame: enGMFrame }), enSyncKey = GM_config.get("enCSyncKey"), enAutoSync = GM_config.get("enCAutoS"), enSyncIn = GM_config.get("enCSyncT", enSyncIn), "auto" != GM_config.get("enCLang") && (enLANG = GM_config.get("enCLang")), window.eval("window['ga-disable-UA-2467049-1'] = true;"), WaitForBody();