代码之家  ›  专栏  ›  技术社区  ›  Oscar Cabrero

<base target=“FrameName”>在IE7上不起作用

  •  0
  • Oscar Cabrero  · 技术社区  · 16 年前

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

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

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

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

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

    该网站是基于ASP构建的。Net 1.1和基础设施V 2.0

    更新 网页是aspx,doctype是

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    
    4 回复  |  直到 16 年前
        1
  •  1
  •   Greg    16 年前

    这个 href="" 属性是 mandatory on the base tag -这是一种可能的解释。你不用说你用的是什么doctype,但是 target is not allowed in strict XHTML .

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

        2
  •  1
  •   Ulf Gjerdingen angelo.mastro    9 年前

    IE不再允许 BASE 标签外 HEAD 的文件。

    标准规定基本元素必须出现在 head 关于该文档, 在任何元素之前 指的是外部来源。

    所以如果你把代码放在后面 </head> 它奏效了!

        3
  •  0
  •   Andrew G. Johnson    16 年前

    老实说,我知道这不是你要问的,但是 不要使用相框。它们已经脱离了HTML/XHTML DTD,非常丑陋,会在浏览器之间造成各种问题。

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

        4
  •  0
  •   Oscar Cabrero    16 年前

    我不知道是什么问题,因为我在纯HTML中测试了基本目标,它工作正常,想知道ASP.net是否必须对它做点什么。但这里有一段javascript代码,它将target属性添加到所有没有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>        
    
    推荐文章