2008-11-03 47 views
0

似乎在IE7中忽略了以下一段HTML,但在IE6/FF中正常工作。它設重寫所有的HTML鏈接到所需的幀<base target =「FrameName」>在IE7上不起作用

<HEAD> 
<title>LeftPane</title> 
<base target="rightFrame"> 
</HEAD> 

上面的代碼是一個左框架,其保持的Infragistics UltraWebTree(樹形菜單)的標題,該標題不支持TargetFrame屬性被打開。

是否有另一種方法將目標屬性添加到所需頁面上的所有鏈接元素。

任何服務器或客戶端代碼解決方法?

該網站是建立在ASP.Net 1.1和Infragistics的2.0版

更新 的網頁ASPX一個doctype是否

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 

回答

0

我不知道是什麼問題,因爲我測試純HTML中的基本目標,它的工作原理,想知道如果ASP.net必須做些什麼。但這裏是一塊目標屬性添加到,這並不所有鏈接元素javascript代碼有一個

<script language="javascript"> 

    var tags=document.getElementsByTagName("a"); 
    for (i=0;i<tags.length;i++) 
    { 
     if(!tags[i].getAttribute('target')) 
      { 
       tags[i].setAttribute('target',"right") 
     } 
    } 


    </script>   
0

老實說,我知道這不是你要求的,但不使用框架。他們已經走出了HTML/XHTML DTD的路,很醜陋,並導致瀏覽器到瀏覽器的各種問題。

如果你正在尋找一個易於管理的模板系統,那麼我會建議只使用簡單的PHP includes這聽起來可能聽起來很嚇人,但實際上非常簡單。如果你有一個便宜的網絡服務器,PHP已經安裝好了。

+0

我支持構建的應用程序,它們使用框架的原因是因爲它們在正確的框架中加載了不同的應用程序。解決方案是基於.net的,而不是PHP – 2008-11-03 19:12:10

1

IE瀏覽器不再允許該文件的HEAD之外BASE標籤。

該標準規定,在引用外部源的任何元素之前,基本元素必須出現在文檔的head的內部之內。

所以,如果你把代碼放在</head>之後就行了!