Stefano Albrecht: WAS IST DAS FÜR EIN FEHLER???

hallo,
folgende funktion, die wirkung erstmal außengelassen
(die aufrufende und auch die aufgerufende seite haben jeweils ein formular):

function meine_funktion(){
  win=window.open("die_seite.html");
  win.document.formname.textfeld.value=document.formname.textfeld.value;

var passwort='daspasswort';
  win.document.formname.passwortfeld.value=passwort;
  win.document.formname.submit(); // LEITET DIE SEITE AUF EINE NEUE
                                  // IM WEB LIEGENDE SEITE (mit www)

if(win.location.href.indexOf("www")>=0){
  // WENN DAS FENSTER (win) NUN DIE NEUE SEITE DRINEN HAT,
  // ÖFFNE EIN NEUES FENSTER
     win2=window.open("neue_seite.html");
  }

setTimeout('alert(win.location.href)',5000);
  // WARTE 5 SEKUNDEN, BIS LOCATION STRING AUSGEGEBEN WIRD.
  // SONST WIRD NOCH DER URSPRUNG AUSGEGEBEN
  // (OFFLINE "die_seite.html")
}

2 fragen:

1. die funktion funktioniert einfach nicht, und ich weiß nicht, wieso.
das beste, das ich aus allen meinem compilern an fehlermeldungen quetschen konnte ist folgendes:
"zeile 1, zeichen 1: erlaubnis verweigert"
wobei zeile und zeichen 1 nicht im script sind, davor ist noch html code, also wären das "<html>" für zeile 1 und zeichen 1.

2. setTimeout('alert(win.location.href)',3000); habe ich gesetzt, damit die ausgabe von alert(win.location.href) auch wirklich den neuen location string ausgibt (www-seite), und nicht den ursprung (offline-seite), also bevor das formular ausgeführt wurde
(denn das laden dauert ja immer ne zeit, deswegen soll die funktion 5 sekunden auf den neuen location string warten).

vielen dank für die hilfe
ich hoffe, dass ich jetzt nicht duch meine lesbarkeitskorrekturen weitere fehler eingebaut habe ;)

  1. Hallöle,

    Das ist der "Ich brülle im Titel, um mich unbeliebt zu machen"-Fehler.

    cu
    Robert

    1. lol... kannst du mir verzeihn?
      ich hoffe doch ja

      1. Moin,

        lol... kannst du mir verzeihn?
        ich hoffe doch ja

        Der Herr wird Dir verzeihen wenn Du die </faq/> gelesen hast...
        Das erspart uns allen hier viel Mühe und viel Leid..

        1. gutenabend,

          also, gradeeben habeich dein postingentdecktund fand es frustrierend,jawohl!

          Der Herr wird Dir verzeihen wenn Du die </faq/> gelesen hast...
          Das erspart uns allen hier viel Mühe und viel Leid.

          Jajaja. Das n00b hatsichvor lauter Herzeleidschon so fest an seineAntennegeklammert, daß es garnichtsmehr schreiben mag, und LordHelmchenhat sein Paßwort vergessen. Esgehtabwä rts, alle kriegennur noch HartzIV mitAusnahmevon Cheatah.

          Trotzdemgrüße ich dich mal ganzliebn und alleanderenauch

          alsowiebitte

  2. Hallo Stefano,

    win=window.open("die_seite.html");

    window.open erwartet mindestens 2 Parameter (siehe http://de.selfhtml.org/javascript/objekte/window.htm#open)

    var passwort='daspasswort';
      win.document.formname.passwortfeld.value=passwort;

    sehe ich das richtig - du möchtest einen Passwortschutz mit js realisieren? Dann kannst du an der Stelle gleich abbrechen, es wird nicht funktionieren. Für einen Passwortschutz brauchst du *zwingend* eine serverseitige Technik.

    1. die funktion funktioniert einfach nicht, und ich weiß nicht, wieso.

    definiere "funktioniert nicht".

    das beste, das ich aus allen meinem compilern

    ähh... welchem Compiler?

    an fehlermeldungen quetschen konnte ist folgendes:
    "zeile 1, zeichen 1: erlaubnis verweigert"

    das sieht mir schwer nach einer unbrauchbaren Fehlermeldung vom IE aus - schau mal nach was Opera oder Mozilla/Firefox zu dem Script sagen.

    Grüße aus Nürnberg
    Tobias

    PS: Das Thema habe ich mal leiser gestellt ...

    1. 1. nein es ist kein passwortschutz
      2. das war keine ie fehlermeldung, sondern vom phase 5.3 editor
      3. open() muss nicht 2 parameter haben, das ging bisher auch immer so glänzend. außerdem würd ich das ja wohlganz schnell merken, eminst du nicht? (das fenster war ja offen)

      4. sorry, dass ich den fehler nicht genauer beschrieben hab, ich wusste, ich hab was vergesen ^^

      also es funktioniert alles normal, aber wenn ich am ende den location string vom "win" fenster haben, welches nach dem submit() eine www url enthalten müsste, kommt immer der alte string.
      das ist ja in dem sinne kein fehler, da das ja geschwindigkeitsgründe hat

      der richtige fehler ist eben wie beschrieben, dass das script einfach nicht mehr bis zum ende ausgeführt wird.

      1. Hallo Stefano,

        lies mal bitte http://learn.to/quote und befolge es.

        1. nein es ist kein passwortschutz

        sondern?

        1. das war keine ie fehlermeldung, sondern vom phase 5.3 editor

        phase5 verwendet intern den IE als Viewer - es *ist* also eine IE Fehlermeldung.

        1. open() muss nicht 2 parameter haben, das ging bisher auch immer so glänzend.

        es geht != richtig

        außerdem würd ich das ja wohlganz schnell merken, eminst du nicht? (das fenster war ja offen)

        die Browser (allen vorran der IE) sind so Fehlertolerant, dass sie solche Fehler ignorieren.

        1. sorry, dass ich den fehler nicht genauer beschrieben hab, ich wusste, ich hab was vergesen ^^

        http://forum.de.selfhtml.org/faq/#Q-07c kennst du aber schon, oder?

        also es funktioniert alles normal, aber wenn ich am ende den location string vom "win" fenster haben, welches nach dem submit() eine www url enthalten müsste, kommt immer der alte string.

        das wird wegen der "same origin policy" nicht funktionieren. Wenn du die URL neue Seite brauchst (warum?) - kannst du einfach vor dem Abschicken des Formulars abfragen, was im action-Attribut des Formulars steht (siehe http://de.selfhtml.org/javascript/objekte/forms.htm#action).

        das ist ja in dem sinne kein fehler,

        was beschwerst du dich dann :-)

        Grüße aus Nürnberg
        Tobias

    2. hallo Tobias,

      "zeile 1, zeichen 1: erlaubnis verweigert"
      das sieht mir schwer nach einer unbrauchbaren Fehlermeldung vom IE aus

      Jaein. Mir ist mit dem IE noch kein "Erlaubnis verweigert" für irgendwelchen Javascript-Krimskrams untergekommen, selbst bei bewußt kaputtgemachtem Code nicht (sowas spuckt allenfalls der Server bei CGI oder PHP aus). Da gibts noch irgendwas andres, was wir bisher noch nicht wissen.

      Grüße aus Berlin

      Christoph S.

      1. Hallo Christoph,

        das sieht mir schwer nach einer unbrauchbaren Fehlermeldung vom IE aus
        Jaein. Mir ist mit dem IE noch kein "Erlaubnis verweigert" für irgendwelchen Javascript-Krimskrams untergekommen,

        dann führ mal die Funktion
          function foo(){
            F1 = window.open('http://www.google.de/','bar');
            F1.document.title = 'Teststring';
          }
        im IE aus - du wirst eine Fehlermeldung "Erlaubnis verweigert" bekommen.

        Grüße aus Nürnberg
        Tobias

        1. höhöhö,

          führ mal die Funktion
            function foo(){
              F1 = window.open('http://www.google.de/','bar');
              F1.document.title = 'Teststring';
            }
          im IE aus - du wirst eine Fehlermeldung "Erlaubnis verweigert" bekommen.

          _So_ ein Zeugs hab ich ja noch nichtmal probiert, als mir SELFHTML noch völlig unbekannt war ;-)

          Grüße aus Berlin

          Christoph S.

  3. Hallo,

    das beste, das ich aus allen meinem compilern an fehlermeldungen quetschen konnte ist folgendes:
    "zeile 1, zeichen 1: erlaubnis verweigert"
    wobei zeile und zeichen 1 nicht im script sind, davor ist noch html code, also wären das "<html>" für zeile 1 und zeichen 1.

    packe Deinen JavaScript-Code in eine externe Datei und Du kannst die Fehlerreferenzen besser interpretieren.
    Ausserdem versuchst Du IMO hier Cross Site Scripting und das ist AFAIK in den meisten Browsern aus sehr guten Gründen nicht erlaubt.

    google -> cross site scripting

    cu,
    ziegenmelker

    1. Ausserdem versuchst Du IMO hier Cross Site Scripting und das ist AFAIK in den meisten Browsern aus sehr guten Gründen nicht erlaubt.

      google -> cross site scripting

      na das ist doch mal eine brauchbare information, vielen dank für die info. das sit mir neu, hmmm mal sehn...

      also danke an dich und an alle anderen auch