2012-06-11 21 views
0

這是我的完整,最新的代碼不起作用。這裏是主窗口HTML使用相同的父級更改來自單獨iFrame的iFrame源?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>Website</title> 
<link rel="stylesheet" type="text/css" href="css/main.css" /> 
</head> 

<body background="core_rec/web_res/cf2.jpg"> 
<center> 
<table width="720" cellpadding="0" cellspacing="0" border="0"> 
<tr> 
<td width="180"><img src="core_rec/logos/metaltop.png" /></td> 
<td colspan="3"><img src="core_rec/web_res/title.png" align="bottom"/></td> 
</tr> 
<tr> 
<td width="180"><img src="core_rec/logos/metalbottom.png" /></td> 
<td width="70"><center><font id="menutext">Menu</font></center></td> 
<td width="100"><center><font id="menutext">Info</font></center></td> 
<td width="200"><center><font id="menutext">Products/Services</font></center></td> 
<td width="170"><center><font id="menutext">Contact</font></center></td> 
</tr> 
</table> 
<br /><br /> 
<table height="80%" width="720"> 
<tr> 
<td width="140"><iframe src="iframes/menus/main.html" width="140" id="sidebar"></iframe></td> 
<td width="540"><iframe src="iframes/bodies/main/main.html" width="540" name="bodyframe" id="bodyframe"></iframe></td> 
</tr> 
</table> 
</center> 
</html> 

這裏是菜單/ main.html。它包含按鈕。

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>iFrame Main</title> 
<link rel="stylesheet" type="text/css" href="../../css/main.css" /> 
</script> 
</head> 

<body bgcolor="#000000"> 
<center> 
<font id="sidebartext"> 
Main<br /><br /> 
Other Feeds<br /><br /> 
<button onclick="parent.document.getElementById('bodyframe').src='../bodies/main/othersites.html'">Other Sites</button><br /><br /> 
</font> 
</center> 
</body> 
</html> 

每當我按下菜單框架上的按鈕,身體框架不會改變。

+0

發佈您的完整臃腫的代碼,所以我可以修復.. – TheBlackBenzKid

+0

只需嘗試使用top.document.getElementById()一次,如果它不工作,top.window.document.getElementById() – Playmaker

+0

如果你有鉻只是由於安全原因,務必檢查javascript控制檯是否存在錯誤。它非常嚴格。很多東西都不允許使用file://協議,所以請在服務器上嘗試一次。 – Playmaker

回答

0

確保在運行此簡單的服務器和測試。當談到iframe時,許多瀏覽器都有限制。

如果使用file://協議,如果您直接打開html文件(即:不通過服務器),將會使用許多文件無法正常工作。

+0

啊。讓我把它放在我的服務器上並檢查它。 – user1448461

+0

它的工作原理。謝謝。 – user1448461

+0

很高興知道。新的瀏覽器有許多意想不到的安全功能可以阻止很多活動,因此如果出現問題,請留意。 – Playmaker

0

拼寫錯誤getElementById:最後一個字母d不應該是大寫。

相反的window.document.getElementById你可以寫document.getElementById,因爲window是在瀏覽器中的全局對象的JavaScript(至少,每個窗口全局/(I)幀)

http://jsfiddle.net/kNrVL/

+0

哇。我昨晚一定很累。我看着這些代碼,不知道爲什麼我寫了窗口。我用更好的代碼編輯了我的帖子,這正是我的意思。我從哪個角度設置源路徑?從目標iframe,從父窗口,或從iFrame按鈕的? – user1448461