在IE7上不起作用

时间:2008-11-03 18:40:13

标签: .net asp.net html internet-explorer

似乎在IE7中忽略了以下HTML,但在IE6 / FF中可以正常工作。它假设覆盖要在所需框架中打开的所有html链接

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

上面的代码是左框架的标题,它包含一个不支持TargetFrame属性的Infragistics UltraWebTree(树状菜单)。

是否有另一种方法可以将目标属性添加到所需页面上的所有链接元素。

任何服务器或客户端代码解决方法?

该网站建立在ASP.Net 1.1和Infragistics V 2.0

之上

更新 网页是aspx,doctype是

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

4 个答案:

答案 0 :(得分:1)

href="" attibute是mandatory on the base tag - 这是一种可能的解释。您没有说明您使用的是哪种doctype,而是target is not allowed in strict XHTML

编辑:在没有href的情况下测试它并且它工作正常......留下了doctype或其他东西。

答案 1 :(得分:1)

IE不再允许BASE标记之外的HEAD标记。

该标准指定基本元素必须出现在文档的head内,在引用外部源的任何元素之前。

因此,如果您将代码放在</head>之后就可以了!

答案 2 :(得分:0)

老实说,我知道这不是你要问的,但是不要使用框架。他们已经走出了HTML / XHTML DTD的路,它们很丑陋,导致浏览器到浏览器的各种问题。

如果您正在寻找一个易于管理的模板系统,那么我建议您使用简单的PHP includes,这可能听起来令人生畏,但实际上非常简单。如果你有一个廉价的网络服务器,你可能已经安装了PHP。

答案 3 :(得分:0)

我不知道是什么问题,因为我在纯HTML中测试基础目标并且它有效,想知道ASP.net是否必须对它做些什么。但这里有一段javascript代码,它将target属性添加到没有一个

的所有链接元素
<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>