Svetlana84: Zugriff auf iframe

hi,
habe seit 2 std bereits gegoogelt und einige varianten ausprobiert um mittels einem input type button einen wert von iframe(input type text) in ein input type text zu übertragen.

Sollte eig. Keine große sache werden, dachte ich mir.

Html in der auch das iframe ist:
1 input type="text" name="txtort"
1 input type="button" name "bt"
1 iframe name="myiframe"

html die als iframe fungiert:
<form name="Formular" ....>
<table id="table1" ....>
<input type="text" name="Ort" ...>

es sind sonst keine "id" vorhanden.

Ein onclick auf bt "alert(document.frames.myiframe.document.Formular.Ort.value)" hat nichts gebracht.
Hab noch einige tausende andere varianten ausprobiert, welche auch nichts bringen.

Die konsole vom ie zeigt meistens immer "zugriff verweigert" an.

Ist der js befehl richtig. Sollte es eig funktionieren? Habt ihr lösungsvorschläge? Schonmal danke im vorraus...

Lg

svetlana

  1. Hallo,

    Die konsole vom ie zeigt meistens immer "zugriff verweigert" an.

    Das klingt doch sehr danach, als ob der Inhalte des iFrames auf einem anderen Server liegt. Dann gehts nicht.

    Deine Seite: www.example1.com
    Inhalt des iFrame: ww.example2.com

    Grüsse
    Siri

    1. Hallo,

      Das klingt doch sehr danach, als ob der Inhalte des iFrames auf einem anderen Server liegt. Dann gehts nicht.

      Es geht deshalb nicht, weil der Browser dafür sorgt, dass eine "fremde" Seite in einem iframe nicht einfach Daten oder gar Eingaben (Passworte) mitlesen kann.

      Das macht Sinn. Wenn aber das Hauptdokument und das iframe- Dokument von derselben Domain (verschiedene Domains vom selben Server funktionieren auch nicht!) kommen, geht der Browser davon aus, dass diese Sicherheitsmaßnahme unsinnig ist.

      Man kann mühsam tricksen. Von fremder Domain dürfen Bilder geladen werden, Javascript- und CSS- Dateien.

      Gruss, Gast

      1. vielen dank für die infos. Hört sich ganz plausibel an.

        Genau, ich hatte so etwas ähnliches vor:
        1 eingabefeld
        3 buttons

        onclick button1 benutze google mit suchbegriff von eingabefeld
        onclick button2 benutze yahoo mit suchbegriff von eigabefeld
        onclick button3 benutze bing mit suchbegriff von eingabefeld

        Schade das man die felder im iframe nicht lesen/beschreiben lassen kann.

        Das heißt wohl dass ich bald "amok" laufen muss. Haha, nein spaß!

        1. Hallo,

          onclick button1 benutze google mit suchbegriff von eingabefeld

          Und wieso nicht ein eigenes Eingabefeld und einen Link:
          http://www.google.de/search?hl=de&source=hp&q=inhalt_des_eingabefeldes
          generieren?

          Grüsse
          Siri

          1. das mit google, yahoo und bing war nur als vereinfachung gedacht, als beispiel.
            Ich habe hier natürlich andere felder und letztendliche ausgabewerte.

            Das wesentliche ist ja, dass ich nur werte von einem input feld im html in das input feld im iframe übertragen möchte.

            Wieso das "in ein iframe reinkopieren" aber gesperrt ist, ist wunderlich, da ja in dem fall keine werte ausgelesen werden.

            1. Hi!

              Wieso das "in ein iframe reinkopieren" aber gesperrt ist, ist wunderlich, da ja in dem fall keine werte ausgelesen werden.

              Hehe. Du moechtest Die Ueberweisung deiner Miete aber ja an deinen Vermieter und nicht an mich taetigen... ;)

              Wie gesagt: Dein Vorhaben ist problemlos moeglich indem du z.B. Firefox nutzt und greasemonkey installierst. Mag auch sein, dass es noch einfachere Moeglichkeiten gibt.

              Uber eine Moeglichkeit fuer den IE8 wuerden sich meine fast amok laufenden Kollegen sicher freuen.

              --
              Signaturen sind blöd!
  2. Hi!

    Im Grunde urde ja schon alles gesagt, ich werf hier aber noch ein wenig mit infos rum.

    die Same Origin Policy der Browser verhindert die Manipulation einer Webseite durch Scripte einer anderen Domain. Deshalb ist es normalerweise nicht moeglich eine Seite in einen Frame zu laden um dann mit Scripten der ladenden Seite auf die geladene Seite zuzugreifen.

    Das hat einen einfachen Sicherheitsgrund. Mitlesen oder manipulieren von wichtigen Daten wird so unterbunden. Es kann also niemand deinen Onlinepin deiner Bank auslesen nur weil er es geschafft hat, die Seite in einem Frame zu laden der seinen Code enthaelt.

    Es gibt natuelich Cross Site Scripting (XSS) Attacken auf solche Webseiten.

    Wenn Du gerade versuchst, Dir das Formular ausfuellen zu erleichtern, (Ich kenne reichlich Systeme in die man bei jedem Vorgang die selben Daten eingeben muss, wenn man jetzt taeglich 20 mal dieses System benutzen muss laeuft man bald amok), dann solltest Du mal einen Blick auf Browserplugins wie Grease Monkey werfen. Damit kannst Du JS nutzenum Jede Seite zu bearbeiten. Wie im Debugger nur abspeicherbar.

    --
    Signaturen sind blöd!