2012-04-08 7 views
0

EDIT: Es funktioniert (Entschuldigung). Etwas in diesem Skript verursacht es in Google Chrome zu stoppen:google chrome iframe body onLoad funktioniert nicht?

function checkLocation() { 
    var loc = top.location.href; 
    var suffix = "subpage.html"; 
    if (loc.indexOf(suffix, loc.length - suffix.length) !== -1) { 
     top.location.href = "index.html"; 
    } 
} 

Original-Beitrag: 5,1

Ich habe IE 9, FF 3.6.3, Chrome (18.0.1025.151) und Safari. 5 alle installiert.

Dies funktioniert in allen Browsern außer Google Chrome.

Ich habe ein HTML-Layout, das einen benannten iframe enthält. Der iframe src ändert sich, um die verschiedenen Seiten anzuzeigen. Auf einer der Seiten habe ich ein Skript, das im Body-Tag onLoad geladen wird. Dieses Skript wird nicht geladen, wenn die Seite nur in google chrome in den iframe geladen wird. In anderen Browsern funktioniert das Skript einwandfrei. Auch, wenn ich die Seite direkt in Google Chrome (nicht über einen iframe) laden, funktioniert es gut.

Wie behebe ich das? Hier

ist ein Beispielcode:

index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> <head> <title> Example Page </title> </head> 
     <body> <a href="subpage.html" target="targetFrame">View subpage</a><BR/> 
       <iframe name="targetFrame"> </iframe> 
     </body> 
</html> 

subpage.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> <head> <title> Subpage </title> 
       <script type="text/javascript" src="subpage.js"> </script> 
     </head> 
     <body onLoad="initialise()"> Hello </body> 
</html> 

subpage.js 
function initialise() { 
    alert("Script loaded."); 
} 

Dank für das Schauen.

Antwort

0

Schaltet seine nur eine Sicherheitsausnahme

Unsafe JavaScript attempt to access frame 
with URL file:///C:/Users/.../website/index.html 
from frame 
with URL file:///C:/Users/.../website/subfolder/subpage.html. 
Domains, protocols and ports must match. 

Sobald seine Online heraus, es sollte in Ordnung sein.

Verwandte Themen