Keine automatische App-Weiterleitung

Versucht, in iOS Safari die automatische Weiterleitung zu Apps (z.B. Amazon-App) zu unterbinden.

// ==UserScript==
// @name         Keine automatische App-Weiterleitung
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Versucht, in iOS Safari die automatische Weiterleitung zu Apps (z.B. Amazon-App) zu unterbinden.
// @author       Dein Name
// @match        *://*/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // WICHTIG: Dieses Script kann nicht alle Universal Links abfangen. 
    // Manche Weiterleitungen passieren systembedingt sehr früh.
    // Trotzdem kann man einiges mit dem Entfernen bestimmter Metadaten erreichen.

    // 1. Entfernt Meta-Tags, die App-Banner und App-Öffnung forcieren
    const observer = new MutationObserver(function(mutations) {
        for (let mutation of mutations) {
            for (let node of mutation.addedNodes) {
                // Falls Knoten ein Element ist
                if (node.nodeType === 1) {
                    // meta[name="apple-itunes-app"] entfernen (Smart App Banner)
                    if (
                        node.tagName === 'META' &&
                        node.getAttribute('name') === 'apple-itunes-app'
                    ) {
                        node.remove();
                    }
                    // Link-Elemente mit rel="alternate" entfernen, die oft App-Links enthalten
                    if (
                        node.tagName === 'LINK' &&
                        node.getAttribute('rel') === 'alternate'
                    ) {
                        node.remove();
                    }
                }
            }
        }
    });

    // Observer startet auf documentElement-Ebene
    observer.observe(document.documentElement, { childList: true, subtree: true });

    // 2. Auch schon vorhandene Elemente entfernen (falls vor dem MutationObserver geladen)
    window.addEventListener('DOMContentLoaded', () => {
        // meta[name="apple-itunes-app"]
        document.querySelectorAll('meta[name="apple-itunes-app"]').forEach(meta => meta.remove());
        // link[rel="alternate"]
        document.querySelectorAll('link[rel="alternate"]').forEach(link => link.remove());
    });

    // 3. (Optional) Klick-Event abfangen, um Weiterleitungen über spezielle URL-Schemata zu verhindern
    document.addEventListener('click', (event) => {
        const target = event.target.closest('a');
        if (!target) return;
        
        // Beispiel: Wenn du speziell amazon-Links blockieren oder modifizieren möchtest.
        // Du könntest hier auch target.setAttribute('href', 'https://www.amazon.de/...') anpassen etc.
        // oder die Default-Action verhindern.
        if (/amazon\./i.test(target.href)) {
            event.preventDefault();
            // Öffnet stattdessen die HTTP-Variante
            window.location.href = target.href.replace(/^.*?:\/\//, 'https://');
        }
    }, true);
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址