# Seite mittels Javascript aktualisieren in Firefox



## VCF (24. Mai 2013)

Hallo!

Ich stehe gerade etwas auf der Leitung und dachte mir, dass mir vielleicht jemand von euch weiterhelfen kann.

Möchte mittels eines Links einen iFrame aktualisieren.

Dazu nutze ich 
	
	
	



```
<a href="javascript:frame.location.reload(true)>
```

Klappt an und für sich alles ganz wunderbar! Zumindest im Safari und auf mobilen Geräten, Firefox möchte jedoch nicht so recht. Hat von euch jemand eine Idee woran das liegen könnte? Funktioniert diese kleine Zeile Code im Firefox prinzipiell nicht?

Schon mal danke im Voraus und liebe Grüße


----------



## CPoly (24. Mai 2013)

Firefox macht IDs von Elementen nicht als globale Variablen verfügbar.

getElementById('frame') benutzen (sofern das die ID ist)


----------



## VCF (26. Mai 2013)

Hab ich das richtig verstanden, dass ich getElementById('frame') anstatt des "frame" in meiner Codezeile verwenden soll? (frame ist die Id) 
Ich bekomms leider nicht ganz in Gang in Firefox ....


----------



## CPoly (26. Mai 2013)

Wie sieht dein code denn jetzt aus?

Zeig doch auch mal das HTML


----------



## VCF (26. Mai 2013)

Also mein eigentlicher Code welcher in Safari und Co und nur nicht in Firefox funktioniert sieht folgendermaßen aus:

Auf der Hauptseite befinden sich ein iFrame und ein Link.

Link:

```
<a href="javascript:frame.location.reload()" onmouseover="SwapOut()"
  onmouseout="SwapBack()" ><img src="images/arrow.jpg" name="change" width="410" height="30"></a>
```

Dieser soll den Inhalt des iFrames aktualisieren und nach erfolgter Aktualisierung soll ein zufälliger Inhalt ausgegeben werden. Dazu befindet sich im Frame folgender Codeschnippsel:


```
<script language="JavaScript1.2">


var ie=document.all&&navigator.userAgent.indexOf("Opera")==-1
var dom=document.getElementById&&navigator.userAgent.indexOf("Opera")==-1


var iframeprops='width=600 height=300 marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0" scrolling="no"'


var randomcontent=new Array()
randomcontent[0]="content1.html"
randomcontent[1]="content2.html"
randomcontent[2]="content3.html"
randomcontent[3]="content4.html"



if (ie||dom)
document.write('<iframe id="dynstuff" src="" '+iframeprops+'></iframe>')

function random_iframe(){
if (ie||dom){
var iframeobj=document.getElementById? document.getElementById("dynstuff") : document.all.dynstuff
iframeobj.src=randomcontent[Math.floor(Math.random()*randomcontent.length)]
}
}

window.onload=random_iframe

</script>
```

Wie gesagt, so wie es hier steht funktioniert es in Safari einwandfrei, nur nicht im Firefox. Das Script selbst habe ich denke ich von Selfhtml .... Danke auf jeden Fall für die Hilfe!


----------



## CPoly (26. Mai 2013)

Schau dir das mal an (auch die Kommentare lesen) http://stackoverflow.com/questions/86428/whats-the-best-way-to-reload-an-iframe-using-javascript


----------



## VCF (27. Mai 2013)

Danke für die rasche Hilfe!

Mit folgendem Code (ganz unten auf der verlinkten Seite zu finden) klappt es wunderbar.


```
<div class="content-2" id="divGranite">
<h2>Granite Purchase</h2>
<IFRAME  runat="server" id="frameGranite" src="Jobs-granite.aspx" width="820px" height="300px" frameborder="0" seamless  ></IFRAME>
</div>
```


```
function refreshGranite() {           
   var iframe = document.getElementById('divGranite')
   iframe.innerHTML = iframe.innerHTML;
}
```


----------

