2008-11-03 17 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>之后就行了!