Hans: Javascript über Adresszeile ausführen

Hallo Leute,

wollte vorhin ein kleines Javascript über die Adresszeile ausführen("javascript:alert(test);"), welches jedoch in keinem meiner Browser (FF,Chrome,Edge) ausgeführt wurde. Meine Javascript-Erfahrungen sind allerdings mehr als 10 Jahre alt. Eine Recherche bei Google hat keine Lösung gebracht. Kann mir jemand sagen, ob dieses Feature nicht mehr existiert, bzw. wie man es aktivieren kann?

Besten Dank!

  1. Hi,

    wollte vorhin ein kleines Javascript über die Adresszeile ausführen("javascript:alert(test);"), welches jedoch in keinem meiner Browser (FF,Chrome,Edge) ausgeführt wurde. Meine Javascript-Erfahrungen sind allerdings mehr als 10 Jahre alt. Eine Recherche bei Google hat keine Lösung gebracht. Kann mir jemand sagen, ob dieses Feature nicht mehr existiert, bzw. wie man es aktivieren kann?

    Entwicklertools (Im Firefox: F12), dann Console, Dein Statement (ohne das "javascript:") eintippen und Return drücken.

    cu,
    Andreas a/k/a MudGuard

    1. super, danke!

  2. Hallo,

    wollte vorhin ein kleines Javascript über die Adresszeile ausführen("javascript:alert(test);"), welches jedoch in keinem meiner Browser (FF,Chrome,Edge) ausgeführt wurde. Meine Javascript-Erfahrungen sind allerdings mehr als 10 Jahre alt.

    keine Bange, deine Javascript-Kenntnisse haben damit nichts zu tun. Dieses Feature ist bei den meisten Browsern vor einigen Jahren entfallen oder zumindest per Defaulteinstellung deaktiviert.

    Kann mir jemand sagen, ob dieses Feature nicht mehr existiert, bzw. wie man es aktivieren kann?

    In Firefox kann man in about:config die Einstellung browser.urlbar.filter.javascript auf false setzen. Mit verchromten Browsern bin ich nicht ausreichend intim.

    Live long and pros healthy,
     Martin

    --
    Für welches Tier mühen wir uns am meisten ab? - Für die Katz'.
    1. Hi,

      danke für den Tipp. Habe es im FF entsprechend umgestellt, leider passiert auch da nichts, gibt aber auch keine Fehlermeldung. Hast Du eine Idee, woran das liegen könnte?

      Danke u. Gruß, Hans

      1. Hallo,

        danke für den Tipp. Habe es im FF entsprechend umgestellt, leider passiert auch da nichts, gibt aber auch keine Fehlermeldung.

        <kleinlaut>stimmt, kann ich bestätigen.</kleinlaut>

        Hast Du eine Idee, woran das liegen könnte?

        Anscheinend haben die Mozillaner das in letzter Zeit komplett abgestellt. Meine letzten Versuche dieser Art sind auch schon mindestens vier Jahre her.

        Live long and pros healthy,
         Martin

        --
        Für welches Tier mühen wir uns am meisten ab? - Für die Katz'.
        1. Hallo,

          früher war alles besser :-D Macht aber auch nix, war einen Versuch wert.

          Schönen Abend und Gruß, Hans

        2. Hallo Der,

          es gehen noch ganz andere Sachen, sogar ohne irgendwas im Browser umzustellen oder das erst als Bookmark abzuspeichern.

          Gib das doch mal einfach in die Adresszeile ein:

          data:text/html,<body oninput="i.srcdoc=h.value"><style>textarea,iframe{width:40vw;height:80vh;margin:10;border:3px dotted black;}body, html{margin:2%;width:100%;}textarea{width:33.33%;font-size:18}</style><h1>Hier Text oder HTML eingeben</h1><textarea placeholder=HTML id=h></textarea><iframe id=i></iframe>
          

          Ein ausgewachsener Editor. Auf der Basis wollte ich sowieso noch etwas experimentieren und vorschlagen, @Christian Kruse, das hier irgendwie mit einzubauen. Denn oft wird hier Endloscode gepostet und dem Verursacher oft höflich, manchmal auch nicht, das irgendo wie Codepen oder selbst hochzuladen.

          Hiermit ginge das supereinfach, wenn das Snipllet so angepasst wird, dass man hier nur einen Teil markieren muss und dieser Teil dann ins Value (srcdoc) mit einfliesst. Wie gesagt wollte mich auch schon dran setzen aber letztendlichmuss dann ja doch noch eine Button hierrein, dass dieses Script nach der Markierung umsetzt. Nur ein Vorschlag, wenig Aufwand => viel Nutzen.

          Gruss
          Henry

          --
          Meine Meinung zu DSGVO & Co:
          „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
          1. Das Sniplett gefällt mir gut. Aber ich habe Fragen dazu. Es enthält u.a. folgendes:

            iframe{width:40vw;height:80vh;margin:10;border:3px dotted black;}

            Hier fehlt eine Einheit. Was stellt der Browser hier dar? Ich habe testweise ein paar Einheiten ausprobiert, aber die Darstellung war jedesmal deutlich anders. Auch wenn ich die Eigenschaft ganz weglasse, ist die Darstellung anders.

            In dem Fenster habe ich eine waagerechte Scrollbar, obwohl rechts noch viel Platz ist. Laut Inspektor ist der Body 1907px breit zuzüglich margin:2%. Das ist dann etwa 55px breiter als mein Monitor, und die senkrechte Scrollbar braucht ja auch noch Platz. Was spricht dagegen, bei html{margin:2%;width:100%;} die Breite weg zu lassen?

            1. Hallo Friedel,

              Was spricht dagegen, bei html{margin:2%;width:100%;} die Breite weg zu lassen?

              alle Angaben kann jeder machen wie er es haben will, nur zu beachten ist, falls es für die Adresszeile ist, dass der Text keine Zeichen enthält die das Browserfeld nicht akzeptiert. Aber Grösse, Farbe, Ränder etc... natürlich alles egal.

              Gruss
              Henry

              --
              Meine Meinung zu DSGVO & Co:
              „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
            2. Hallo Friedel,

              der Wertetyp von margin-Angaben ist ein CSS <length> Wert, und eine length ist ein Subtyp einer Dimension.

              Äh, Edit für Genauheimer, es ist ein <length-percentage> Wert, d.h. entweder Länge ODER Prozentangabe. Aber da eine Prozentangabe ein % erfordert, sind wir im <length> Zweig dieser Oder-Angabe...

              Und das heißt: margin:10 ist ein CSS Syntaxfehler, weil die Einheitenangabe laut Spec nur für den Wert 0 optional ist. Du bist damit der Gnade des Browsers überlassen, wie er das deutet. Korrekt wäre eigentlich, syntaktisch falsche Eigenschaften (im Sinne von: der Browser kennt diese Syntax nicht und weiß nicht, ob er sie vielleicht nur noch nicht kennt) zu ignorieren.

              Aber Chrome deutet mir 10 wie 10px, Firefox auch. Es ist vielleicht ein Kompatibilitätsfluch aus den 90ern, der sie dazu zwingt.

              Quentin schreibt hier bei Stackoverflow, dass es eine Folge des Quirksmode sei, wenn der Browser einheitenlose Werte als Pixel interpretiert. Da lag ich mir meinem Fluch der 90er gar nicht falsch 😀. Diese data-URL liefert keinen Doctype und versetzt die Seite damit in den Quirksmode. Aber - wenn ich hier das Forum in den Entwicklertools mit body {margin99;} malträtiere, dann nimmt Chrome das dennoch an, obwohl es <!doctype html> hat. Da steckt vielleicht noch mehr dahinter, oder Chrome ist einfach nur nett (was manchmal mit doof gleichzusetzen ist):

              Rolf

              --
              sumpsi - posui - obstruxi
              1. Quirksmode — ja das könnte es sein. Bei mir ist die Darstellung mit margin:10 im FF deutlich anders als mit margin:10px. Aber die unterschiedliche Darstellung der collapsing margins bei Quriks- und Strict-Modus löst das Rätsel. Danke.

  3. Hallo Hans,

    direkt in der Kommandozeile geht es bei mir auch nicht. Ging das jemals?

    Aber in einem Lesezeichen funktioniert es (ein "Bookmarklet").

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo Rolf,

      direkt in der Kommandozeile geht es bei mir auch nicht. Ging das jemals?

      wenn du mit Kommandozeile die Adresszeile meinst: Ja, vor rund zehn Jahren ging das auf jeden Fall.

      Aber in einem Lesezeichen funktioniert es (ein "Bookmarklet").

      Interessant. 😀
      Aber lass mich raten: Dieses Javascript im Bookmarklet darf nicht mit einer aktuell geladenen Seite aus dem Web interagieren? - Das ging nämlich damals auch.

      Live long and pros healthy,
       Martin

      --
      Für welches Tier mühen wir uns am meisten ab? - Für die Katz'.
      1. Hallo Martin,

        doch, das darf es immer noch. Es kann sogar ein <script> Element attachen und damit ein fettes Script nachladen. Interessanterweise kann man damit sogar ein http:// Script auf eine https:// Seite bringen.

        javascript:{let d=document,s;d.getElementById('myUI')||s=d.createElement('script'),s.src='http://localhost:88/myScript.js',d.head.appendChild(s))}
        

        myUI ist der Container für das UI meines Helferleins. Ist der schon da, tut das Bookmarklet nichts. Es will ja nicht zweimal auf die Seite.

        Rolf

        --
        sumpsi - posui - obstruxi
  4. Hallo Hans,

    Das geht schon, aber nicht direkt in der Adresszeile. Müsstes du als Link in einem HTML Dokument oder irgendeinem Editor formatieren. Hier im Forum funktionierts, wahrscheinlich aus Sicherheitsgründen, nicht.

    <a href="javascript:(alert('test!'))">Als Link geht das</a>

    Dann hättest du auch ein sogenanntes Bookmarlet(sind oft sehr hilfreich), weil wenn du den Link dann zu den Bookmarks hinzufügst kannst du die Aktion direkt aufrufen.

    Mehr dazu findest du aber hier.

    Gruss
    Henry

    --
    Meine Meinung zu DSGVO & Co:
    „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“