Document.title script Frage

  • Warum funktoniert dieses Script nicht? Bin da etwas überfordert.

    Code
    // separate words or phrases with a comma 
    var blacklist = ["Valuebrand", "Ads"], 
        re = new RegExp(blacklist.join('|'), "i"); 
    if (re.test(document.title.textContent)) { 
      var win = window.open("","_self"); 
      win.close(); 
    }
  • In Zeile 4 lass weg:

    Zitat

    .textContent

    document.title ist bereits ein String.

    Außerdem funktioniert das wahrscheinlich nur bei Popups.
    Bei mir wird bei händisch geöffneten Seiten das Fenster bzw. der Tab nicht geschlossen.
    In der Webkonsole kommt die JS-Warnmeldung:

    Zitat

    Skripte können keine Fenster schließen, die nicht von ihnen geöffnet wurden.

  • Ha und schon funktioniert es :)

    dom.allow_scripts_to_close_windows muß auf true stehen, hoffe das bleibt erhalten.

    Besten Dank an aborix, es ersetzt übrigens die Killjasmin version, die Du mir mal modifiziert hast. Die ließ sich nicht signieren, daher ein anderer Lösungsansatz. :klasse:

  • Greasemonkey
    // @include http://domain*

    Der original Script war ursprünglich für document.body.textContent gedacht, aber im body kann natürlich alles mögliche drin sein, nicht nur String. Zu kurz gedacht.
    In der Originalversion kann man auch ziemlich einfach kindersicheres Surfen bewerkstelligen mit // @include *

    Einmal editiert, zuletzt von Herb_ (4. Januar 2016 um 11:48)

  • Ich habe aus folgendem Grund nach @run-at gefragt:

    Wenn es nicht vorhanden ist, wird das Skript ausgeführt, wenn ein Großteil der Seite geladen ist.
    (genauer: http://wiki.greasespot.net/Metadata_Block#.40run-at)
    Wenn der Tab ohnehin geschlossen werden soll, kann man das auch früher tun, nämlich sobald document.title vorhanden ist. Das geht z.B. so:

  • Das mit dem @run-at hab ich jetzt kapiert, ist aber für meinen speziellen Fall nicht relevant, da die Seite ruhig durchladen kann und dann weggehauen wird.

    Die haben da etlichen Mist serverseitig am Laufen, der einem den normalen Gebrauch der Basisseite ganz schön vermiesen kann. Ich hab noch einen anderen Script dort am Laufen, der bestimmte Seiten erst nach 30 Sekunden schließt. Adblock hilft da leider garnicht, nur bei 3rd Party Seiten. Die wiederum haue ich weitgehend mit Killjasmin weg.