他不是在<noframes>标记中吗?只在不主持框架的浏览器中a1()才会被执行

解决方案 »

  1.   

    <noframes>
    <body onLoad="a1()">  //为什么这里没有执行呢?
    </body>
    </noframes>
    </html>
    改成
    <noframes>
    </noframes>
    <body onLoad="a1()">
    </body>
    </html>
      

  2.   

    不过新问题有出来了<body onload="b2()">
    </body>这句话怎么让框架生成后再执行呢? 因为B2的功能: 将一个页面输出mainFrame框架里面去可是如果 上面那段再框架后面, 就无法执行, 如果在前面框架又无法加载
      

  3.   

    johnpanq(飞花逐月):好像没有执行 函数b2啊? 好晕的~
      

  4.   

    这个我的代码, 函数依然没有执行, 如果把boad 放到框架前面可以执行, 但是又没有框架了<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>'he'</title>
    </head>
    <?session_start();
      $varLanguage=$_REQUEST["Language"];  //接收url参数
      $_SESSION["Language"]=$varLanguage;  //写入session  $varPage=$_REQUEST["Page"];  //接收url参数
      $_SESSION["page"]=$varPage;  //写入session  $varProduce=$_REQUEST["Produce"];  //接收url参数
      $_SESSION["Produce"]=$varProduce;  //写入session
    ?><frameset rows="80,*" frameborder="yes" border="0" framespacing="0">
      <frame src="TopFrame.php" name="topFrame" frameborder="no" scrolling="NO" noresize>
      <frameset rows="*" cols="157,*" framespacing="0" frameborder="no" border="0">
    <frame src="LeftFrame.php" name="leftFrame" frameborder="yes" scrolling="NO" noresize>
    <frame src="index1.php" name="mainFrame" frameborder="yes" id="mainFrame">
      </frameset>
    </frameset><noframes>
    </noframes><script>
    function b2()
    {
    alert("请输入您的名字");
    parent.frames["mainFrame"].document.location.href= "FAQ.php"; return;
    }
    </script>
    <body onLoad="b2()">
    </body>
    </html>
      

  5.   

    这样试试,把下面代码放到前面去。
    <script language="javascript">
    function b2()
    {
    alert("请输入您的名字");
    parent.frames["mainFrame"].document.location.href= "FAQ.php";
    return;
    }
    function check()
    {
    if (document.all.mainFrame)
    {
    clearInterval(timeid);
    b2();

    }
    }
    var timeid = setInterval('check()',500);
    </script>
      

  6.   

    johnpanq(飞花逐月) :
    谢谢!这样的确可以, 不过产生了500毫秒的延时, 还有其他办法吗?我现在将 mainFrame默认跳转页 index1.php 里面加入onload, 可以实现
    不过还是觉得多此一举啊!
      

  7.   

    johnpanq(飞花逐月) :
    我的意思是说: 如果用定时器来实现假设用户浏览器的超过500毫秒都没有把框架生成, 而这个时候我执行了b2函数, 会不会出问题? 如果又这种可能, 我觉得这样做的稳定性不高, 不过我不知道是否会这样:)
      

  8.   

    johnpanq(飞花逐月) :
    明白了,谢谢你啊!