href von iframe vor dem Laden der Website per Javascript ändern
CAM-Andi
- javascript
0 Der Martin0 MudGuard0 CAM-Andi
Hallo,
vor dem Laden der Seite soll per javascript der href-Wert des 2. iframe geändert werden.
Der aufrufende href lautet: gd.html?file=2010_3&anchor=konf_2010
Beim Zuweisen des neuen href-Werts bekomme ich immer die Meldung, dass mein Bezug auf den iframe Null oder kein Objekt ist
siehe unten die ausprobierten Varianten und die zugehörige Fehlermeldung).
Es handelt sich immer um die gleiche Domain!
Javascript-Debugger aus IE8, auch Firefox bringt gleiche Fehler.
OS ist Win XP.
~~~javascript <script type="text/javascript">
function Werteliste (querystring) { //Werte aus URL extrahieren
if (querystring == '') return;
var wertestring = querystring.slice(1);
var paare = wertestring.split("&");
var paar, name, wert;
for (var i = 0; i < paare.length; i++) {
paar = paare[i].split("=");
name = paar[0];
wert = paar[1];
name = unescape(name).replace("+", " ");
wert = unescape(wert).replace("+", " ");
this[name] = wert; // Wertrückgabe der neuen Instanz über Befehl: this
}
}
var liste = new Werteliste(location.search); // neue Instanz von Werteliste erstellen und mit URL-Anhang füllen
if ((liste["file"].length > 0) && (liste["anchor"].length > 0)) {
//====================================================================
// iframe-Benennung: <iframe frameborder="0" name="iframe_gd_unten" style="bor...
//document.frames["iframe_gd_unten"].location.href = "gd_archiv/" + liste["file"] + ".html#" + liste["anchor"];
//Fehler: 'document.frames.iframe_gd_unten.location' ist Null oder kein Objekt
//parent.frames["iframe_gd_unten"].location.href = "gd_archiv/" + liste["file"] + ".html#" + liste["anchor"];
//Fehler: 'parent.frames.iframe_gd_unten.location' ist Null oder kein Objekt
//window.iframe_gd_unten.location.href = "gd_archiv/" + liste["file"] + ".html#" + liste["anchor"];
//Fehler: 'window.iframe_gd_unten.location' ist Null oder kein Objekt
top.iframe_gd_unten.location.href = "gd_archiv/" + liste["file"] + ".html#" + liste["anchor"];
//Fehler: 'top.iframe_gd_unten.location' ist Null oder kein Objekt
//====================================================================
// iframe-Benennung: <iframe frameborder="0" id="iframe_gd_unten" style="bor...
//document.getElementById("iframe_gd_unten").src = "gd_archiv/" + liste["file"] + ".html#" + liste["anchor"];
//Fehler: 'document.getElementById(...)' ist Null oder kein Objek
}
</script>
~~~html
</head>
<body id="main_body">
<div id="container">
<div id="header">
<div id="key_visual">
<!--Bild oben in der Mitte (Bibel)-->
</div>
<div id="logo">
<!--Bild oben links (Kirchengebäude)-->
</div>
<div id="kreuz">
<!--Bild oben rechts (Kreuz)-->
</div>
</div>
<div id="pgbk_2">
</div>
<div id="main_container">
<table id="layout_table">
<tr>
<td colspan="1" id="left_column" rowspan="1">
<div id="left_column_container">
<div id="main_nav_container">
<ul id="main_nav_list">
<li><a class="main_nav_item" shape="rect" href="index.html">Startseite</a>
...
...
</ul>
</div>
</div>
</td>
<td colspan="1" id="right_column" rowspan="1">
<div id="sub_container2">
<div class="content" id="content_container">
<br />
<!-- Dropdown-Menue -->
<iframe frameborder="0" name="iframe_gd_oben" style="border: medium none; width: 100%;
height: 55px;" src="gd_archiv/gd_verweisliste.html">x</iframe>
<br clear="all" />
<!-- ausgewählter Inhalt hier anzeigen -->
<iframe frameborder="0" name="iframe_gd_unten" style="border: medium none; width: 100%;
height: 3100px;" src="gd_archiv/2010_5.html">x</iframe>
<br clear="all" />
</div>
</div>
</td>
</tr>
</table>
</div>
Was mache ich falsch?
Im Voraus schon mal vielen Dank!
Hi,
vor dem Laden der Seite soll per javascript der href-Wert des 2. iframe geändert werden.
was meinst du mit "vor dem Laden der Seite"?
Vor dem Laden der Seite ist nichts da - auch kein Javascript.
Was mache ich falsch?
Du willst auf Elemente zugreifen, bevor sie existieren. Dein Script darf erst ausgeführt werden, wenn die iframe-Elemente im Dokument auch erzeugt sind.
Ciao,
Martin
Hallo,
danke für die schnelle Antwort.
Hi,
vor dem Laden der Seite soll per javascript der href-Wert des 2. iframe geändert werden.
was meinst du mit "vor dem Laden der Seite"?
Vor dem Laden der Seite ist nichts da - auch kein Javascript.Was mache ich falsch?
Du willst auf Elemente zugreifen, bevor sie existieren. Dein Script darf erst ausgeführt werden, wenn die iframe-Elemente im Dokument auch erzeugt sind.
Ich glaube das hilft mir weiter. Werde das heute abend angehen und mich wieder melden.
Ciao,
Martin
Grüße CAM-Andi
Hallo Martin,
danke nochmal für deine Hilfe!
Hallo,
danke für die schnelle Antwort.
Hi,
vor dem Laden der Seite soll per javascript der href-Wert des 2. iframe geändert werden.
Ich meinte damit: mit den an die aufrufende URL angehängten Parametern soll eine bestimmte Datei im 2. iframe angezeigt werden.
was meinst du mit "vor dem Laden der Seite"?
Vor dem Laden der Seite ist nichts da - auch kein Javascript.Was mache ich falsch?
Du willst auf Elemente zugreifen, bevor sie existieren. Dein Script darf erst ausgeführt werden, wenn die iframe-Elemente im Dokument auch erzeugt sind.
Ich glaube das hilft mir weiter. Werde das heute abend angehen und mich wieder melden.
Ich rufe mein script jetzt über das onload-event des 2. iframes auf. Funktioniert!
Ciao,
Martin
Grüße CAM-Andi
Hi,
vor dem Laden der Seite soll per javascript der href-Wert des 2. iframe geändert werden.
Wo nichts ist, kann nichts geändert werden.
Ein iframe hat kein href.
cu,
Andreas
Hallo,
danke für die schnelle Antwort.
Hi,
vor dem Laden der Seite soll per javascript der href-Wert des 2. iframe geändert werden.
Wo nichts ist, kann nichts geändert werden.
Habe jetzt aber erfahren, dass ich das script später ausführen muss.
Ein iframe hat kein href.
Der erste iframe ist ein Dropdown-Menü. Im zugehörigen Script wird href verwendet:
parent.frames["iframe_gd_unten"].location.href = wert;
cu,
Andreas
Grüße CAM-Andi