因为后则你将javascript脚本写在了HTML标记结束之外,所以不会执行!

解决方案 »

  1.   

    qiuliang1979(qiuliang) :这样可以运行:<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body bgcolor="#FFFFFF" text="#000000"></body>
    </html>
    <script language="JavaScript">
    <!--
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);//-->
    </script>
      

  2.   

    写在里面也执行不了吧呵呵。难道我会无缘无故的把它挪上去吗?框架网页没有body,所以script没有地方放了呵呵,只好往head里面放。
      

  3.   

    frameset 也可以用 onload=你要执行的函数
      

  4.   

    恩,用了onload就不用defer了,但是脚本还是要写在head里面啊,不然难道写noframe里面?谁来把下面的script挪下去?<html>
    <head>
    <title>Untitled Document</title>
    <script language="JavaScript">
    <!--
    function test()
    {
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);
    }
    //-->
    </script>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <frameset rows="80,*" cols="*" frameborder="YES" border="5" framespacing="0" onload="test()"> 
      <frame name="topFrame" scrolling="NO" noresize src="UntitledFrame-1.htm" >
      <frameset cols="80,*" frameborder="YES" border="5" framespacing="5"> 
        <frame name="leftFrame" noresize scrolling="NO" src="zxcvbleft.htm">
        <frame name="mainFrame" src="6.htm">
      </frameset>
    </frameset>
    <noframes> 
    </noframes> 
    </html>
      

  5.   

    为什么这样可以运行:<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <body bgcolor="#FFFFFF" text="#000000"></body>
    </html>
    <script language="JavaScript">
    <!--
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);//-->
    </script>
    这样不能运行<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <frameset rows="80,*" cols="*" frameborder="YES" border="5" framespacing="0"> 
      <frame name="topFrame" scrolling="NO" noresize src="UntitledFrame-1.htm" >
      <frameset cols="80,*" frameborder="YES" border="5" framespacing="5"> 
        <frame name="leftFrame" noresize scrolling="NO" src="zxcvbleft.htm">
        <frame name="mainFrame" src="6.htm">
      </frameset>
    </frameset>
    <noframes> 
    </noframes> 
    </html>
    <script language="JavaScript">
    <!--
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);//-->
    </script>
      

  6.   

    呵呵,挪到</head>下面还是可以的:<html>
    <head>
    <title>emu</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <script language="JavaScript">
    <!--
    function test()
    {
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);
    }
    //-->
    </script>
    <frameset rows="80,*" cols="*" frameborder="YES" border="5" framespacing="0" onload="test()"> 
      <frame name="topFrame" scrolling="NO" noresize src="UntitledFrame-1.htm" >
      <frameset cols="80,*" frameborder="YES" border="5" framespacing="5"> 
        <frame name="leftFrame" noresize scrolling="NO" src="zxcvbleft.htm">
        <frame name="mainFrame" src="6.htm">
      </frameset>
    </frameset>
    <noframes> 
    </noframes> 
    </html>不过我再没办法往下面挪了。谁来?
      

  7.   

    还有为什么这样可以:<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><script language="JavaScript">
    <!--
    asdf();
    function asdf()
    {
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);
    }
    //-->
    </script><body bgcolor="#FFFFFF" text="#000000"></body>
    </html>
    而这样不行:<html>
    <head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><script language="JavaScript">
    <!--
    asdf();
    //-->
    </script><script language="JavaScript">
    <!--
    function asdf()
    {
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);
    }
    //-->
    </script><body bgcolor="#FFFFFF" text="#000000"></body>
    </html>
      

  8.   

    一对SCRIPT标记是作为一个整体加载的..
    你分开后引用对象时,对象还没定义..
      

  9.   

    这是IE对框架集和对独立文档脚本支持上的一点差异..
    你用iframe就不存在这个问题..
      

  10.   

    先引用后定义当然不行拉,这样就行了:<head>
    <title>Untitled Document</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head><script language="JavaScript" defer>
    <!--
    //用defer延迟了它的运行
    asdf();
    //-->
    </script><script language="JavaScript">
    <!--
    function asdf()
    {
    var frm = window.frames;
    alert(frm.length);
    for (i=0; i < frm.length; i++)
    alert(frm[i].location);
    }
    //-->
    </script><body bgcolor="#FFFFFF" text="#000000"></body>
    </html>