Beiträge von Boersenfeger
-
-
Seit vor 3 Tagen das o.a. Script aktualisiert wurde, sind die Größen Miniplayer, Kinomodus verschwunden.
CSS
Alles anzeigen// ==UserScript== // @name Remove Adblock Thing // @namespace http://tampermonkey.net/ // @version 5.6 // @description Removes Adblock Thing // @author JoelMatic // @match https://www.youtube.com/* // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com // @updateURL https://github.com/TheRealJoelmatic/RemoveAdblockThing/raw/main/Youtube-Ad-blocker-Reminder-Remover.user.js // @downloadURL https://github.com/TheRealJoelmatic/RemoveAdblockThing/raw/main/Youtube-Ad-blocker-Reminder-Remover.user.js // @grant none // ==/UserScript== (function() { // // Config // // Enable The Undetected Adblocker const adblocker = true; // Enable The Popup remover (pointless if you have the Undetected Adblocker) const removePopup = false; // Checks for updates (Removes the popup) const updateCheck = true; // Enable debug messages into the console const debugMessages = true; // Fix timestamps in the youtube comments for new method const fixTimestamps = true; // Enable custom modal // Uses SweetAlert2 library (https://cdn.jsdelivr.net/npm/sweetalert2@11) for the update version modal. // When set to false, the default window popup will be used. And the library will not be loaded. const updateModal = { enable: true, // if true, replaces default window popup with a custom modal timer: 5000, // timer: number | false }; // // CODE // // If you have any suggestions, bug reports, // or want to contribute to this userscript, // feel free to create issues or pull requests in the GitHub repository. // // GITHUB: https://github.com/TheRealJoelmatic/RemoveAdblockThing // // Varables used for adblock // // Store the initial URL let currentUrl = window.location.href; // Used for after the player is updated let isVideoPlayerModified = false; // // Variables used for updater // let hasIgnoredUpdate = false; // // Setup // //Set everything up here log("Script started"); if (adblocker) removeAds(); if (removePopup) popupRemover(); if (updateCheck) checkForUpdate(); if (fixTimestamps) timestampFix(); // Remove Them pesski popups function popupRemover() { setInterval(() => { const modalOverlay = document.querySelector("tp-yt-iron-overlay-backdrop"); const popup = document.querySelector(".style-scope ytd-enforcement-message-view-model"); const popupButton = document.getElementById("dismiss-button"); var video = document.querySelector('video'); const bodyStyle = document.body.style; bodyStyle.setProperty('overflow-y', 'auto', 'important'); if (modalOverlay) { modalOverlay.removeAttribute("opened"); modalOverlay.remove(); } if (popup) { log("Popup detected, removing..."); if(popupButton) popupButton.click(); popup.remove(); video.play(); setTimeout(() => { video.play(); }, 500); log("Popup removed"); } // Check if the video is paused after removing the popup if (!video.paused) return; // UnPause The Video video.play(); }, 1000); } // undetected adblocker method // undetected adblocker method function removeAds() { log("removeAds()"); setInterval(() => { if (window.location.href !== currentUrl) { currentUrl = window.location.href; isVideoPlayerModified = false; clearAllPlayers(); removePageAds(); } // Fix for youtube shorts if (window.location.href.includes("shorts")) { log("Youtube shorts detected, ignoring..."); return; } if (isVideoPlayerModified){ removeAllDuplicateVideos(); return; } log("Video replacement started!"); // // remove ad audio // var video = document.querySelector('video'); if (video) video.volume = 0; if (video) video.pause(); if (video) video.remove(); // // Remove the current player // if (!clearAllPlayers()) { return; } /** * remove the "Ad blockers violate YouTube's Terms of Service" screen for safari */ let errorScreen = document.querySelector("#error-screen"); if (errorScreen) { errorScreen.remove(); } // // Get the video ID from the URL // let videoID = ''; let playList = ''; let timeStamp = ''; const url = new URL(window.location.href); const urlParams = new URLSearchParams(url.search); if (urlParams.has('v')) { videoID = urlParams.get('v'); } else { const pathSegments = url.pathname.split('/'); const liveIndex = pathSegments.indexOf('live'); if (liveIndex !== -1 && liveIndex + 1 < pathSegments.length) { videoID = pathSegments[liveIndex + 1]; } } if (urlParams.has('list')) { playList = "&listType=playlist&list=" + urlParams.get('list'); } if (urlParams.has('t')) { timeStamp = "&start=" + urlParams.get('t').replace('s', ''); } if (!videoID) { log("YouTube video URL not found.", "e"); return null; } log("Video ID: " + videoID); // // Create new frame for the video // const startOfUrl = "https://www.youtube-nocookie.com/embed/"; const endOfUrl = "?autoplay=1&modestbranding=1&rel=0"; const finalUrl = startOfUrl + videoID + endOfUrl; const iframe = document.createElement('iframe'); iframe.setAttribute('src', finalUrl); iframe.setAttribute('frameborder', '0'); iframe.setAttribute('allow', 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share'); iframe.setAttribute('allowfullscreen', true); iframe.setAttribute('mozallowfullscreen', "mozallowfullscreen"); iframe.setAttribute('msallowfullscreen', "msallowfullscreen"); iframe.setAttribute('oallowfullscreen', "oallowfullscreen"); iframe.setAttribute('webkitallowfullscreen', "webkitallowfullscreen"); iframe.style.width = '100%'; iframe.style.height = '100%'; iframe.style.position = 'absolute'; iframe.style.top = '0'; iframe.style.left = '0'; iframe.style.zIndex = '9999'; iframe.style.pointerEvents = 'all'; const videoPlayerElement = document.querySelector('.html5-video-player'); videoPlayerElement.appendChild(iframe); log("Finished"); isVideoPlayerModified = true; }, 500); removePageAds(); } // // logic functionm // function removeAllDuplicateVideos() { const videos = document.querySelectorAll('video'); videos.forEach(video => { if (video.src.includes('www.youtube.com')) { video.muted = true; video.pause(); video.addEventListener('volumechange', function() { if (!video.muted) { video.muted = true; video.pause(); log("Video unmuted detected and remuted"); } }); video.addEventListener('play', function() { video.pause(); log("Video play detected and repaused"); }); log("Duplicate video found and muted"); } }); } function clearAllPlayers() { const videoPlayerElements = document.querySelectorAll('.html5-video-player'); if (videoPlayerElements.length === 0) { console.error("No elements with class 'html5-video-player' found."); return false; } videoPlayerElements.forEach(videoPlayerElement => { const iframes = videoPlayerElement.querySelectorAll('iframe'); iframes.forEach(iframe => { iframe.remove(); }); }); console.log("Removed all current players!"); return true; } //removes ads on the page (not video player ads) function removePageAds(){ const sponsor = document.querySelectorAll("div#player-ads.style-scope.ytd-watch-flexy, div#panels.style-scope.ytd-watch-flexy"); const style = document.createElement('style'); style.textContent = ` ytd-action-companion-ad-renderer, ytd-display-ad-renderer, ytd-video-masthead-ad-advertiser-info-renderer, ytd-video-masthead-ad-primary-video-renderer, ytd-in-feed-ad-layout-renderer, ytd-ad-slot-renderer, yt-about-this-ad-renderer, yt-mealbar-promo-renderer, ytd-statement-banner-renderer, ytd-ad-slot-renderer, ytd-in-feed-ad-layout-renderer, ytd-banner-promo-renderer-background statement-banner-style-type-compact, .ytd-video-masthead-ad-v3-renderer, div#root.style-scope.ytd-display-ad-renderer.yt-simple-endpoint, div#sparkles-container.style-scope.ytd-promoted-sparkles-web-renderer, div#main-container.style-scope.ytd-promoted-video-renderer, div#player-ads.style-scope.ytd-watch-flexy, ad-slot-renderer, ytm-promoted-sparkles-web-renderer, masthead-ad, tp-yt-iron-overlay-backdrop, #masthead-ad { display: none !important; } `; document.head.appendChild(style); sponsor?.forEach((element) => { if (element.getAttribute("id") === "rendering-content") { element.childNodes?.forEach((childElement) => { if (childElement?.data.targetId && childElement?.data.targetId !=="engagement-panel-macro-markers-description-chapters"){ //Skipping the Chapters section element.style.display = 'none'; } }); } }); log("Removed page ads (✔️)"); } function changeTimestamp(timestamp) { const videoPlayerElements = document.querySelectorAll('.html5-video-player'); videoPlayerElements.forEach(videoPlayerElement => { const iframes = videoPlayerElement.querySelectorAll('iframe'); iframes.forEach(iframe => { if (iframe.src.includes("&start=")) { iframe.src = iframe.src.replace(/&start=\d+/, "&start=" + timestamp); } else { iframe.src += "&start=" + timestamp; } }); }); } function timestampFix() { document.addEventListener('click', function(event) { const target = event.target; if (target.classList.contains('yt-core-attributed-string__link') && target.href.includes('&t=')) { event.preventDefault(); const timestamp = target.href.split('&t=')[1].split('s')[0]; log(`Timestamp link clicked: ${timestamp} seconds`); changeTimestamp(timestamp); } }); } function observerCallback(mutations) { let isVideoAdded = mutations.some(mutation => Array.from(mutation.addedNodes).some(node => node.tagName === 'VIDEO') ); if (isVideoAdded) { log("New video detected, checking for duplicates."); // Ignore for youtube shorts if (window.location.href.includes("shorts")) { log("Youtube shorts detected, ignoring..."); return; } removeAllDuplicateVideos(); } } const observer = new MutationObserver(observerCallback); observer.observe(document.body, { childList: true, subtree: true }); // // Update check // function checkForUpdate(){ if (window.top !== window.self && !(window.location.href.includes("youtube.com"))){ return; } if (hasIgnoredUpdate){ return; } const scriptUrl = 'https://raw.githubusercontent.com/TheRealJoelmatic/RemoveAdblockThing/main/Youtube-Ad-blocker-Reminder-Remover.user.js'; fetch(scriptUrl) .then(response => response.text()) .then(data => { // Extract version from the script on GitHub const match = data.match(/@version\s+(\d+\.\d+)/); if (!match) { log("Unable to extract version from the GitHub script.", "e") return; } const githubVersion = parseFloat(match[1]); const currentVersion = parseFloat(GM_info.script.version); if (githubVersion <= currentVersion) { log('You have the latest version of the script. ' + githubVersion + " : " + currentVersion); return; } console.log('Remove Adblock Thing: A new version is available. Please update your script. ' + githubVersion + " : " + currentVersion); if(updateModal.enable){ // if a version is skipped, don't show the update message again until the next version if (parseFloat(localStorage.getItem('skipRemoveAdblockThingVersion')) === githubVersion) { return; } // If enabled, include the SweetAlert2 library const script = document.createElement('script'); script.src = 'https://cdn.jsdelivr.net/npm/sweetalert2@11'; document.head.appendChild(script); const style = document.createElement('style'); style.textContent = '.swal2-container { z-index: 2400; }'; document.head.appendChild(style); // Wait for SweetAlert to be fully loaded script.onload = function () { Swal.fire({ position: "top-end", backdrop: false, title: 'Remove Adblock Thing: New version is available.', text: 'Do you want to update?', showCancelButton: true, showDenyButton: true, confirmButtonText: 'Update', denyButtonText:'Skip', cancelButtonText: 'Close', timer: updateModal.timer ?? 5000, timerProgressBar: true, didOpen: (modal) => { modal.onmouseenter = Swal.stopTimer; modal.onmouseleave = Swal.resumeTimer; } }).then((result) => { if (result.isConfirmed) { window.location.replace(scriptUrl); } else if(result.isDenied) { localStorage.setItem('skipRemoveAdblockThingVersion', githubVersion); } }); }; script.onerror = function () { var result = window.confirm("Remove Adblock Thing: A new version is available. Please update your script."); if (result) { window.location.replace(scriptUrl); } } } else { var result = window.confirm("Remove Adblock Thing: A new version is available. Please update your script."); if (result) { window.location.replace(scriptUrl); } } }) .catch(error => { hasIgnoredUpdate = true; log("Error checking for updates:", "e", error) }); hasIgnoredUpdate = true; } // Used for debug messages function log(log, level, ...args) { if(!debugMessages) return; const prefix = '🔧 Remove Adblock Thing:'; const message = `${prefix} ${log}`; switch (level) { case 'error': console.error(`❌ ${message}`, ...args); break; case 'log': console.log(`✅ ${message}`, ...args); break; case 'warning': console.warn(`⚠️ ${message}`, ...args); break; default: console.info(`ℹ️ ${message}`, ...args); } } })();Könnte ein Findiger dies aus dem Script wieder entfernen?
Ggf. liegt es daran, dass ich Violentmonkey nutze? Das war schon früher mal ein Problem. Da mussten Kleinigkeiten im Code angepasst werden.
-
// Mira_Belle dieses Thema haben wir doch nun wirklich schon oft bis zum Erbrechen mit dir durch dekliniert. Ich weiß wirklich nicht, wieso du dies immer wieder auf den Markt schmeißt und damit Mitlesende verunsicherst.
Höre auf, die Fakten so lange zu verdrehen bis es dir passt, vielen Dank! -
-
Shifty Shellshock aka Seth Binzer Mitgründer und Rapper der Crossover Band Crazy Town ist im Alter von 49 Jahren gestorben.
Der größte Hit war vermutlich Butterfly aus dem Jahr 2000!
Eine Todesursache ist nicht bekannt. Drogen- und Alkoholprobleme waren in der Vergangenheit aber ständiger Begleiter des Musikers.RIP
-
Wichtig wäre natürlich auch, dass möglichst alle, die Mozilla zeigen wollen, dass sie die separate Suchleiste nutzen, Telemetrie aktiviert haben. Sonst zieht Mozilla das nicht.

Die ist hier im Nightly, meinem Hauptbrowser sowieso aktiv

-
Sören Hentzschel Danke soweit! Die Frage nach einer ggf. für mich nötigen Möglichkeit der Änderung via Script wurde leider nicht besprochen..
-
Sören Hentzschel Gibt es ein Ticket dazu, wo man ggf. seine Meinung hinterlegen kann, dass die Möglichkeit zur Nutzung NICHT entfernt wird?
Wenn dies fruchtlos ist/bleibt, kann man die Funktion via Script beibehalten?
-
Ich nutze zum Suchen NUR die Suchzeile. Ich habe mich daran gewöhnt, sie ist immer präsent und ich möchte sie nicht missen.
Zum Leeren nutze ich ein Script von@aborixCode
Alles anzeigen/* Suchfeld leeren nach 4 Sekunden */ /* Author @aborix */ setTimeout(function() { if (!window.BrowserSearch) return; var searchbar = BrowserSearch.searchBar; if (!searchbar) return; var textbox = searchbar.textbox; var tId; textbox.addEventListener('input', function() { clearTimeout(tId); tId = setTimeout(function() { textbox.value = ''; document.getElementById('PopupSearchAutoComplete').hidePopup(); }, 4000); }); }, 0); -
Palli Nachträglich auch von mir alles Gute und vor allem viel Gesundheit..

-
Die nächsten Gegner dürfen gerne den gleichen Fehler begehen....

Schön erkannt und kommentiert vom Co-Moderator
-
Merkwürdig, aber mach doch mal, Firefox 127.0 sollte jetzt auch bei dir ankommen..
-
-
Um der Aufregung wieder Herr zu werden....
ich nutze das entsprechende Script, habe es gestern so nebenbei mit auch anderen auf eine neue Version gebracht. Nach einem Neustart ging dann die Seite nicht mehr, wie eigentlich erwartet. Mein Schussel war, dass ich die Aktualisierung des Scripts nicht damit in Verbindung gebracht habe. Wer kann ahnen, dass dann der Schalter umgelegt wird... jetzt weiß ich es.

Alles wieder gut, wie ich schon in # 13 vermeldete.

Alles Weitere war dann unnötig!

-
Danke, das wars... ich hatte wohl irrtümlich die Seite mit dem vorhandenem Script gesperrt... alles wieder gut!


-
Das wird doch nun allen Usern hier immer wieder geraten, solltest du doch auch wissen

Auch im angemeckerten Modus erhalte ich diese Mitteilung...
-
Hä? Ich habe nichts Externes benutzt, sondern auf den Link im Screenshot geklickt, wie milupo vorschlug.
Ein Test mit der Version 126 ergab nichts Auffälliges, da funktioniert die Seite.
Auch im angemeckerten Modus erhalte ich diese Mitteilung... und nun?
-
Danke fürs Testen.

Nein, den Fehlerbehebungsmodus hatte ich noch nicht durch.
Ich werde jetzt einfach Feierabend machen und morgen noch mal schauen.Danke soweit..
-
-
Diese Seite ergibt nach dem heutigen UpDate von Nightly eine Fehlermeldung
Live Earthquake Monitoring on GlobalQuake24/7 Real time seismic monitoring, automatic location, depth and magnitude estimation of earthquakes using the GlobalQuake application. The displayed informa...www.youtube.comAndere YouTubevideos funktionieren.
Liegts an der Seite?
https://hg.mozilla.org/mozilla-central/rev/b1ba7de67667d1404fabb3accf66e2c5a8e53cf8
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 Firefox/128.0 ID:20240602092157