<script>if(top.location!=self.location)alert("页面被框架加载")</script>
function externalLinks() { 
if (!document.getElementsByTagName) return; 
var anchors = document.getElementsByTagName("a"); 
for (var i=0; i<anchors.length; i++) { 
var anchor = anchors(i)
if (anchor.getAttribute("href") && 
anchor.getAttribute("rel") == "external") 
anchor.target = "_blank"; 

解决方案 »

  1.   

    myvicy
    你写的方法用过吗?为什么我用还是不行。
      

  2.   

    修改tardet那个不行哦,我没改。
      

  3.   

    我在for()后加了“alert(anchors(0).title);”可以正确输入。
      

  4.   

    判断是否在框架中你可以将你的页面url与页面顶层的url进行判断,如果不一样,说明在框架中吧
      

  5.   

    就是说你可以用self.location与top.location做判断
      

  6.   

    循环写错了吧 ,应该是 anchor[i]把
      

  7.   

    你不会直接拷贝回去用了吧.里面有个ubb代码要去掉的。
    <script>if(top.location!=self.location)alert("页面被框架加载")</script>
    function externalLinks() { 
    if (!document.getElementsByTagName) return; 
    var anchors = document.getElementsByTagName("a"); 
    for (var i=0; i<anchors.length; i++) { 
    var anchor = anchors[i]; 
    if (anchor.getAttribute("href") && 
    anchor.getAttribute("rel") == "external") 
    anchor.target = "_blank"; 

    } 再试试
      

  8.   

    "你不会直接拷贝回去用了吧.里面有个ubb代码要去掉的。"这个当然去掉了。
      

  9.   

    我又看了网上的例子原来要加“rel="external"”才行。
    “<a href="http://www.szriders.com" rel="external">bbb</a>”
    我原本的需求是如果页面在框架内就把超链接改为“_blank”。
    可C#又不能判断出当前页面是否在框架内,只能用脚本。
    可问题是我页面里有<asp:LinkButton>,这个控件不支持“rel="external"”。
    现在不知道如何搞了。
      

  10.   

    搞好了。
    虽然<asp:LinkButton>,这个控件不支持“rel="external"”,但是写了也不抱错,页面运行时就能修改了。 
      

  11.   

    实际上[i]和(i)都能用,我现在就是用的“anchor(i)”。
      

  12.   

    (i)在ie下可用,但在ff下就不好了.[i]这个兼容性比较好.
      

  13.   

    "虽然 <asp:LinkButton>,这个控件不支持“rel="external"”,但是写了也不抱错,页面运行时就能修改了。 "搞错了!这样不行!