Heph: JS problem - zugriff auf objekte in Iframe

Guten Morgen ihr Lieben,

ich habe folgendes Problem mit einem Javascript:

Die Grundsituation ist die das ich eine Html-file habe in der ein iframe ( id="map" ) definiert ist. Des weiteren existiert ein JS-file in der meine scripte stehen. Ich möchte jetzt auf attribute verschiedener Objekte im iframe zugreifen und habe folgende Funktion definiert:

  
  
function get_collision_objects(x,y){  
s_h_w(window.frames['map'].Hgh_Wdh.width, window.frames['map'].Hgh_Wdh.height);  
var v_left = frames["map"].document.forms["map_area"].elements["test"][0].left;  
window.alert(v_left);  
s_pos(x,y);  
}  

Hgh_Wdh ist ein div.
Mit "test" sind mehrere Images benannt (name="test") die im Iframe positioniert sind.

Diese Funktion wird von IE6 ohne zu murren ausgeführt, FF 3.0.7 sträubt sich mit ein paar Warnmeldungen auf der Fehlerkonsole - "Fehler beim verarbeiten der Eigenschaft width" etc. - und ignoriert geflissentlich sämtliche Alerts usw.
Augenscheinlich hängen diese Fehler mit meinem obigem JS zusammen. GetElementByID bzw GetElementsByName Konstrukte haben sich nur mit ein paar illustren Fehlermeldungen verabschiedet.

Bitte helft mir sind die Ideen ausgegangen, es muss doch eine Variante geben die in beiden Browsern funktioniert. Wenn jemand die Losung parat hat und teilen will wäre das sehr nett.

Für etwaige Idiotenfehler meinerseits entschuldige ich mich schonmal im Vorraus. Normalerweise schlage ich mit c und Assemblern rum und JS ist eher ein Hobby.

  1. Lieber Heph,

    Diese Funktion wird von IE6 ohne zu murren ausgeführt, FF 3.0.7 sträubt sich mit ein paar Warnmeldungen auf der Fehlerkonsole - "Fehler beim verarbeiten der Eigenschaft width" etc.

    Für etwaige Idiotenfehler meinerseits entschuldige ich mich schonmal im Vorraus.

    die Eigenschaften "width" und "height" haben immer <http://de.selfhtml.org/css/formate/wertzuweisung.htm#numerische@title=eine Einheit>. Nur der saudämliche IE interpretiert reine Zahlenwerte in Pixeln und weist in der Fehlerkonsole nicht auf fehlerhafte Wertzuweisungen hin.

    Liebe Grüße,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
    1. Lieber Heph,

      »» Diese Funktion wird von IE6 ohne zu murren ausgeführt, FF 3.0.7 sträubt sich mit ein paar Warnmeldungen auf der Fehlerkonsole - "Fehler beim verarbeiten der Eigenschaft width" etc.
      »»
      »» Für etwaige Idiotenfehler meinerseits entschuldige ich mich schonmal im Vorraus.

      die Eigenschaften "width" und "height" haben immer <http://de.selfhtml.org/css/formate/wertzuweisung.htm#numerische@title=eine Einheit>. Nur der saudämliche IE interpretiert reine Zahlenwerte in Pixeln und weist in der Fehlerkonsole nicht auf fehlerhafte Wertzuweisungen hin.

      Liebe Grüße,

      Felix Riesterer.

      Danke für die schnelle Antwort. Wenn ich das recht verstanden habe muss ich also erst meine Werte in eine Variable packen und die px abschneiden?

      Abgesehen davon war mein image ,in dem vom Iframe angezeigten Html-file, so eingefügt:

        
      <img src="treasure.gif" name="test" width="50" left="150" height="50" border="0">  
      
      

      Wusste nicht das jenes auf diese weise mit css zusammenhängt.

      1. oops da hab ich mich dank der späten stunde verlesen. Du meintet offenbar das <div> und nicht das <img>

    2. Diese Funktion wird von IE6 ohne zu murren ausgeführt, FF 3.0.7 sträubt sich mit ein paar Warnmeldungen auf der Fehlerkonsole - "Fehler beim verarbeiten der Eigenschaft width" etc.

      die Eigenschaften "width" und "height" haben immer <http://de.selfhtml.org/css/formate/wertzuweisung.htm#numerische@title=eine Einheit>. Nur der saudämliche IE interpretiert reine Zahlenwerte in Pixeln und weist in der Fehlerkonsole nicht auf fehlerhafte Wertzuweisungen hin.

      er will auf das Attribut width zugreifen. Nicht auf eine CSS eigenschaft.
      Nein width hat keine Einheit.
      width ist aber kein Attribut für div.

      Er müsste wenn schon auf das style Objekt zugreifen und natürlich im iframe Dokument zuerst das sytle Attribut mit width; anzahl Einheit vorher anlegen.

      mfg Beat

      --
      Woran ich arbeite:
      X-Torah
         <°)))o><                     ><o(((°>o
      Der Valigator leibt diese Fische
  2. Hi,

    window.frames['map'].Hgh_Wdh.width
    Hgh_Wdh ist ein div.

    1. window.frames['map'] ist ein window-Object
    2. Nur weil in einem window in einem document ein Element mit der Id 'Hgh_Wdh' existiert, existiert im window-Object noch lange kein Object namens Hgh_Wdh (so Schwachsinn macht nur der IE).
    3. div hat kein width-Attribut.

    Augenscheinlich hängen diese Fehler mit meinem obigem JS zusammen. GetElementByID bzw GetElementsByName Konstrukte haben sich nur mit ein paar illustren Fehlermeldungen verabschiedet.

    Weil die Funktionen nicht existieren im Gegensatz zu getElementByID bzw. getElementsByName (a propos: div hat kein name-Attribut).
    Und weil Du das Dokument vergessen hast?

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi,

      GetElementByID bzw GetElementsByName Konstrukte haben sich nur mit ein paar illustren Fehlermeldungen verabschiedet.

      Weil die Funktionen nicht existieren im Gegensatz zu getElementByID

      ^^
      Ich sag's dir nur ungern, Andreas - aber JavaScript behandelt Methodennamen case sensitive ... *SCNR*

      MfG ChrisB

      --
      „This is the author's opinion, not necessarily that of Starbucks.“