javascript:function(){alert("Hello World")}()

  • Hallo,

    gebe ich in die Adressleiste ein...

    javascript:function(){alert("Hello World")}()

    ...so erscheint eine Messagebox "HELLO WORLD". -Dies
    funktioniert zwar beim Operabrowser, aber nicht bei Firefox.

    Ist bei Firefox ein Haken irgendwo aktiviert bei: "Stop executing scripts on this page"
    ?

    PS:
    gibt man in die Adresszeile "about:config" ein, und sucht nach "script", so werden
    dutzende Einträge gelistet. Aber welcher für das Blockieren von Scripts verantwortlich
    ist, konnte ich nicht herausfinden.

  • Das was Du da geschrieben hast, funktioniert auch bei Opera nicht. Da sind zwei Klammern zuviel und die definierte Funktion wird ja gar nicht aufgerufen. In der richtigen Schreibweise

    Code
    javascript:function test(){alert("Hello World");}test();


    oder auch nur

    Code
    javascript:alert("Hello World");


    funktioniert das problemlos.

    Meinst Du mit Blockieren von Script das Ausschalten von Javascript? Das macht "javascript.enabled", mögliche Werte sind true und false.

  • Aus welchem Grund soll JavaScript in der Adresszeile ausgeführt werden? Das hat da nichts verloren und ist aus gutem Grund seit Firefox 6 (per default) nicht mehr möglich. Dafür ist die Konsole respektive das Scratchpad da.

    Wenn du meinst es unbedingt zu müssen - wieso auch immer - bittesehr:
    https://addons.mozilla.org/en-US/firefox/…heritprincipal/

  • Zitat von Sören Hentzschel

    JavaScript .. ist .. seit Firefox 6 .. nicht mehr möglich.

    Die Javascript-Ausfilterung in der Adressleiste ist demnach in den neuen Firefox-Versionen erst eingeführt worden. -Dass Javascript in der Urlbar nicht mehr geht, wunderte mich, denn irgendwie glaubte ich zu wissen, dass Javascript bei den Firefox- Vorgängerversionen in der Adressleiste lief.

  • Huch, wenn ich danach google, finde ich Deine Aussage bestätigt, aber wieso funktioniert das dann bei mir, Javascript über die Locationbar auszuführen? Hat jemand die entsprechende pref parat?

  • Nein, NoScript habe ich nicht installiert.
    Ich las aber in dem passenden Bug, daß mit der entsprechenden pref auch data-URLs ein und ausgeschaltet werden. Das könnte der Grund sein, das ich das mal eingeschaltet haben könnte, an die pref kann ich mich aber beim besten Willen nicht mehr erinnern.

    Edit: Es gibt browser.urlbar.filter.javascript, das steht aber bei mir bereits auf true

  • Zitat von Sören Hentzschel

    Aus welchem Grund soll JavaScript in der Adresszeile ausgeführt werden? Das hat da nichts verloren und ist aus gutem Grund seit Firefox 6 (per default) nicht mehr möglich.


    1.

    Code
    javascript:(function(){var%20newSS,%20styles='*%20{%20background:%20white%20!%20important;%20color:%20black%20!important%20}%20:link,%20:link%20*%20{%20color:%20#0000EE%20!important%20}%20:visited,%20:visited%20*%20{%20color:%20#551A8B%20!important%20}';%20if(document.createStyleSheet)%20{%20document.createStyleSheet("javascript:'"+styles+"'");%20}%20else%20{%20newSS=document.createElement('link');%20newSS.rel='stylesheet';%20newSS.href='data:text/css,'+escape(styles);%20document.getElementsByTagName("head")[0].appendChild(newSS);%20}%20})();


    Probiere mal.....

    2. Siehe 1.

  • Also sprichst du von einem Bookmarklet, das ist ja nun nicht das Gleiche. ;)

    Probier es aus: Öffne die Web Konsole und führe das in der Adressleiste aus. Du wirst einen Syntax Fehler angezeigt bekommen. Versuche ein einfaches alert(), auch das wird nicht funktionieren, obwohl du dort sicher keinen Syntax Fehler haben wirst (zumindest sofern das Verhalten deines Browsers dahingehend nicht modifiziert wurde). Als Bookmarklet hingegen schon. Bookmarks sind etwas, was du als User selber anlegst und daher nicht das selbe Sicherheitsrisiko sind. Es wurde lediglich die Möglichkeit, das direkt in der Adressleiste auszuführen blockiert.