Alert Text auslesen

  • Hat eine nee Ahnung ob das geht?

    Ich habe ein Script was für jeden Kram ein Alert rauswirft. Der Inhalt ist nicht ganz egal und wollte den dann in einen container anzeigen lassen und so mit das weg klicken der Alerts ersparen.

    Ihr würdet jetzt sagen schreib es doch um. Klar könnte ich ,aber ich suche eine schnelle Lösung weil das Script 14.000 Zeilen hat und ich da auch nicht schnell durchblicke.


    Also geht das überhaupt, blocken und auslesen oder andersrum.

    Irgendwie so

    Code
    window.alert = function() {
    var was=this.innerHTML;
    document.getElementById('out').innerHTML=was;
    };

    Das geht natürlich so nicht,soll aber zeigen was ich meine.


    Selbst bei googel finde ich nix.Hat die frage noch nie einer gestellt ? Hat wohl keiner so komische ideen wie ich .

  • Wie Du schon befürchtet hast: umschreiben!


    Dürfte auch nicht ganz so schwierig sein, ganz egal, wie viele Zeilen das Script hat.

    Grundsätzlich wird es sicher immer die direkte Anweisung alert( ... ); sein. Dann müsste ein ersetzen mit regulären Ausdrücken helfen:


    Das Pattern alert\(([^)]+)\); ersetzen mit console.log( \1 ); oder console.log( $1 ); je nachdem, in welcher Umgebung Du die Ersetzungen durchführst. Natürlich ginge auch, das in einen Container zu schreiben, das wäre dann bspw. ein ersetzen mitdocument.getElementById( 'dein-container' ).innerText = \1;

  • Das probiere ich auch mal aus.

    Ich habe gerade nee Lösung gefunden die funktioniert und mich verwirrt

    Nur ob das korekt ist weiß ich nicht.

    Was sagst du dazu


    Code
    alert('dieser alert steht im eingebundenen Script');

    index.html



    Weil eigentlich kenne ich das event so nicht,wieso funktioniert das ?

  • Wo hast Du das denn gefunden? So ganz richtig ist das nicht dargestellt. window.alert ist kein Event, sondern ein Funktion/Methode. Du überschreibst diese einfach nur mit einer neuen. In der neuen Methode übernimmst Du dann die Nachricht in die Variable kk, die Du dann in den Container #aa schreibst.


    Alles in allem mag das funktionieren, ist aus meiner Sicht aber alles andere als sauber!

  • nee gefunden habe ich das nicht,ich wollte was testen und dann kam das raus. Deswegen hat mich das gewundert das es überhaupt geht und das es nicht sauber ist hatte ich mir gedacht,aber da hatte ich dich gefragt weil du dich besser auskennst wie weit sowas guter Code ist.

    Ich habe auch schon versucht zu Googeln wie man sowas machen kann.Man findet da echt gar nix wie man das machen kann ( sauber und unsauber).

    Habe auch schon bei stackoverflow gesucht aber da weiß ich nicht nach was ich suchen soll ( detect alert text ? ) oder inside text ?

    Wie auch immer bis jetzt habe ich noch nix gefunden

  • Naja, unterm Strich ohne es bewertend zu meinen ist das ja eh eine Notlösung, weil Du das Script nicht ändern willst, was aber weiterhin die beste Lösung ist!

    Deine Lösung funktioniert wie gesagt nur, weil Du die alert()-Methode überschreibst und damit nicht mehr nutzbar machst. Standard-Methoden zu überschreiben war noch nie eine sinnvolle Lösung.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!