0
我正在嘗試在iframe中承載不同應用程序(也包括網站)的網站。注意:一次只有一個應用程序處於活動狀態(顯示)。我的問題是,依賴於目標的鏈接被加載到錯誤的iframe中(第一個被發現)。動態更改iframe /框架的名稱
爲了避免依賴特定目標的鏈接出現問題,腳本將隱藏的iframe的屬性「名稱」更改爲其他名稱,並將當前的iframe重命名爲正確的名稱/目標。
但是,當我點擊一個鏈接,該網站載入錯誤的框架。
爲了澄清我的問題,請查看以下代碼。 有鏈接可激活三個iframe中的一個(其他兩個隱藏)。當用戶點擊sourceforge鏈接時,頁面應該被加載到活動的iframe中(當時顯示的那個iframe),但它被加載到第一個(ms)iframe中。
有沒有辦法解決這個問題?
使用Firefox 3.6.11/Windows 7的
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Test</title>
<script type="text/javascript">
function activate(n){
var iframes = document.getElementsByTagName('iframe');
for(var i = 0; i < iframes.length; i++){
var f = iframes[i];
f.style.display = 'none';
f.name = 'hidden-'+i;
}
document.getElementById('target'+n).style.display = 'inline';
document.getElementById('target'+n).name = 'target';
}
</script>
</head>
<body>
<h1>Willkommen</h1>
<a href="http://sourceforge.net/" target="target">Load Sourceforge in current frame</a>
<br/>
<a href="javascript:activate(1);">MICROSOFT</a>
<a href="javascript:activate(2);">GOOGLE</a>
<a href="javascript:activate(3);">ORACLE</a>
<iframe id="target1" src="http://www.microsoft.com/" name="target" width="100%" height="400px">noframes</iframe>
<iframe style="display:none;" id="target2" src="http://www.google.com/" name="hidden-1" width="100%" height="400px">noframes</iframe>
<iframe style="display:none;" id="target3" src="http://www.oracle.com/" name="hidden-2" width="100%" height="420px">noframes</iframe>
</body>
</html>
你是對的,解決方法的工作原理。這是我的實際問題的簡化版本,您的解決方法無法幫助我解決問題。不過,謝謝你的回答! – Adrian 2010-10-22 15:14:26