test.html是个iframe,我在里面写了一个js,想实现打开aaa.html的时候,判断url,如果是aaa,就执行隐藏一部分文字连接的功能。
可是现在好像实现不了,请高手帮我看看哪里有问题,谢谢!急!aaa.html:
<html><head>
<meta http-equiv="Content-type" content="text/html; charset=gb2312">
<title></title>
<style type="text/css">
td,p,li,select,input,textarea {font-size:12px}
</style></head>
<body bgcolor=#ffffff topmargin=5 marginheight=5>
<center>
<table width=750 border=0 cellpadding=0 cellspacing=0>
<tr><td><iframe name="test.html" src=test.html width=817 height=100 frameborder=0></iframe></td></tr>
</table>
</center>
</body></html>
test.html
<html><head>
<meta http-equiv="Content-type" content="text/html; charset=gb2312">
<title></title>
<style type="text/css">
td,p,li,select,input,textarea {font-size:12px}
</style><script language="JavaScript">
function yc(){
<!--
switch (parent.window.location.href)
{
    case "aaa.html":
        document.getElementById('link1').style.display='none';
document.getElementById('link2').style.display='none';
document.getElementById('link3').style.display='none';
document.getElementById("link4").style.display="none";
        break;
    case "bbb.html":
document.getElementById("link1").style.display="none";
document.getElementById("link2").style.display="none";
document.getElementById("link3").style.display="none";
document.getElementById("link4").style.display="none";
        break;
    case "ccc.html":
document.getElementById("link1").style.display="none";
document.getElementById("link2").style.display="none";
document.getElementById("link3").style.display="none";
document.getElementById("link4").style.display="none";
        break;
case "ddd.html":
document.getElementById("link1").style.display="none";
document.getElementById("link2").style.display="none";
document.getElementById("link3").style.display="none";
document.getElementById("link4").style.display="none";
        break;
   default:
        break;
}
//-->
}
</script></head>
<body bgcolor=#EFFDFF topmargin=0 marginheight=0 leftmargin=0 marginwidth=0>
<center>
<span id=link1><a href=uri# class=a04 target=_blank><img src="images/fcchat07.gif" width="19" height="16" border=0>张三</a></span>
<span id=link2><a href=uri#><img src="images/fcchat08.gif" width="16" height="16" border=0>李四</a>
<span id=link3><a href=uri#><img src="images/fcchat09.gif" width="16" height="12" border=0>王五</a>
<span id=link4><a href=uri#><img src="images/fcchat10.gif" width="19" height="13" border=0>马六</a>
</table>
</center>
</body></html>

解决方案 »

  1.   

    parent.window.location.href取出的是绝对路径,所以得不到aaa.html1.你可以在aaa.html一个值,在test里取.
    2.用正则表达试进看parent.window.location.href是否有aaa.html.  /aaa.html/.test(parent.window.location.href);
    aaa.html<html><head>
    <meta http-equiv="Content-type" content="text/html; charset=gb2312">
    <title></title>
    <style type="text/css">
    td,p,li,select,input,textarea {font-size:12px}
    </style>
    </head>
    <body bgcolor=#ffffff topmargin=5 marginheight=5>
    <script language=javascript>
    var url="aaa.html";
    </script>
    <center>
    <table width=750 border=0 cellpadding=0 cellspacing=0>
    <tr><td><iframe name="test.html" src=test.html width=817 height=100 frameborder=0></iframe></td></tr>
    </table>
    </center>
    </body></html>
    test.html<html><head>
    <meta http-equiv="Content-type" content="text/html; charset=gb2312">
    <title></title>
    <style type="text/css">
    td,p,li,select,input,textarea {font-size:12px}
    </style><script language="JavaScript">
    function yc(){
    <!--
    switch (parent.url)
    {
        case "aaa.html":
                    document.getElementById('link2').style.display='none';
    document.getElementById('link3').style.display='none';
    document.getElementById("link4").style.display="none";
            break;
        case "bbb.html":
    document.getElementById("link1").style.display="none";
    document.getElementById("link2").style.display="none";
    document.getElementById("link3").style.display="none";
    document.getElementById("link4").style.display="none";
            break;
        case "ccc.html":
    document.getElementById("link1").style.display="none";
    document.getElementById("link2").style.display="none";
    document.getElementById("link3").style.display="none";
    document.getElementById("link4").style.display="none";
            break;
    case "ddd.html":
    document.getElementById("link1").style.display="none";
    document.getElementById("link2").style.display="none";
    document.getElementById("link3").style.display="none";
    document.getElementById("link4").style.display="none";
            break;
       default:
            break;
    }
    //-->
    }
    </script></head>
    <body bgcolor=#EFFDFF topmargin=0 marginheight=0 leftmargin=0 marginwidth=0>
    <center>
    <span id=link1><a href=uri# class=a04 target=_blank><img src="images/fcchat07.gif" width="19" height="16" border=0>张三</a></span>
    <span id=link2><a href=uri#><img src="images/fcchat08.gif" width="16" height="16" border=0>李四</a>
    <span id=link3><a href=uri#><img src="images/fcchat09.gif" width="16" height="12" border=0>王五</a>
    <span id=link4><a href=uri#><img src="images/fcchat10.gif" width="19" height="13" border=0>马六</a>
    </table>
    </center>
    <script language=javascript>yc();</script>
    </body></html>
      

  2.   

    不会,那你用正则表达试看看?只改test.html文件。aaa.html还是要你原来的不变。
    <html><head>
    <meta http-equiv="Content-type" content="text/html; charset=gb2312">
    <title></title>
    <style type="text/css">
    td,p,li,select,input,textarea {font-size:12px}
    </style><script language="JavaScript">
    function yc(){
    <!--
    switch (/\w+\.html$.exec(parent.location.href)/)
    {
        case "aaa.html":
                    document.getElementById('link1').style.display='none';
            break;
        case "bbb.html":
    document.getElementById("link2").style.display="none";
            break;
        case "ccc.html":
    document.getElementById("link3").style.display="none";
            break;
    case "ddd.html":
    document.getElementById("link4").style.display="none";
            break;
       default:
            break;
    }
    //-->
    }
    </script></head>
    <body bgcolor=#EFFDFF topmargin=0 marginheight=0 leftmargin=0 marginwidth=0>
    <center>
    <span id=link1><a href=uri# class=a04 target=_blank><img src="images/fcchat07.gif" width="19" height="16" border=0>张三</a></span>
    <span id=link2><a href=uri#><img src="images/fcchat08.gif" width="16" height="16" border=0>李四</a>
    <span id=link3><a href=uri#><img src="images/fcchat09.gif" width="16" height="12" border=0>王五</a>
    <span id=link4><a href=uri#><img src="images/fcchat10.gif" width="19" height="13" border=0>马六</a>
    </table>
    </center>
    <script language=javascript>yc();</script>
    </body></html>
      

  3.   

    test.html用这个应该没问题!@
    <html><head>
    <meta http-equiv="Content-type" content="text/html; charset=gb2312">
    <title></title>
    <style type="text/css">
    td,p,li,select,input,textarea {font-size:12px}
    </style><script language="JavaScript">
    function yc(){
    <!--
    switch (""+/\w+\.html$/.exec(parent.location.href))
    {
        case "aaa.html":
                    document.getElementById('link1').style.display='none';
            break;
        case "bbb.html":
    document.getElementById("link2").style.display="none";
            break;
        case "ccc.html":
    document.getElementById("link3").style.display="none";
            break;
    case "ddd.html":
    document.getElementById("link4").style.display="none";
            break;
       default:
            break;
    }
    //-->
    }
    </script></head>
    <body bgcolor=#EFFDFF topmargin=0 marginheight=0 leftmargin=0 marginwidth=0>
    <center>
    <span id=link1><a href=uri# class=a04 target=_blank><img src="images/fcchat07.gif" width="19" height="16" border=0>张三</a></span>
    <span id=link2><a href=uri#><img src="images/fcchat08.gif" width="16" height="16" border=0>李四</a>
    <span id=link3><a href=uri#><img src="images/fcchat09.gif" width="16" height="12" border=0>王五</a>
    <span id=link4><a href=uri#><img src="images/fcchat10.gif" width="19" height="13" border=0>马六</a>
    </table>
    </center>
    <script language=javascript>yc();</script>
    </body></html>