2011-09-23 36 views
0

我有一個框架組合框架左/右。該框架的內容留下了下面的內容。正如你所看到的,我想更新左邊框架父節點(最上面的窗口)位置的散列/片段標識符。停止從重新加載頁面的父框架的位置.hash

但是,這會導致重新加載Safari/Chrome中的整個框架集。在Firefox中,整個框架集不會重新加載,但瀏覽器會持續顯示「加載」。

背景:左框顯示導航。一個條目中的點擊加載右邊框中的另一個HTML頁面,並且還應該更新瀏覽器窗口位置中的散列,以便用戶可以爲頁面添加書籤。

我該如何做這項工作?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
     "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<title>Left</title> 
</head> 
<body> 

<script type="text/javascript" charset="utf-8"> 
    function go() 
    { 
    window.document.write('foo'); // replace document with 'foo' 
    window.parent.location.hash = '#foo'; 
    } 
</script> 

<h1>Left</h1> 
<p> 
    <a href="#" onclick="javascript:go(); return false;">Go</a> 
</p> 

</body> 
</html> 

回答

0

你可能想嘗試改變:

onclick="javascript:go(); return false;"

...喜歡的東西:

onclick="void(javascript:go(););"

0

而不是使用window.parent.location.hash的只是嘗試這樣的:

JS:

function go() 
{ 
    window.document.write('foo'); // replace document with 'foo' 
} 

HTML:

<a href="#foo" onclick="go()">Go</a> 
+0

請問這不僅改變了左幀的片段標識符? – Manuel

+0

鏈接的默認目標是'_self',它隻影響被調用的窗口。 – avall