/**
 
1:首先,要根据COOKIE的值,设置iframe里面调用的htm文件是myworld1.htm,myworld2.htm,myworld3.htm.....其中1个。
然后jsworld.js里面会根据COOKIE的值,读取iframe里面对应的值,写进id="disdata"的表格。。2:这里涉及到读取COOKIE的返回值是全局变量,所以必须把以上代码全部写进1个.js文件里面。(比如就是新生成后的jsworld.js吧!)
该怎么写jsworld.js这段代码?
*/
A:为什么要第二步,再说你已经写进表格了,你要的时候要不直接取COOKIE或者直接到表里去取,;你写进一个JS文件,里面定义的变量与本地定义类同,//只是根据你的业务的需要,注意下这文件引入的位置;

解决方案 »

  1.   

    1:注意,IFRAME是隐藏的,不会在网页出现。用来调用含有数据的文件。里面有很多表格。很多数据!因为数据太多,怕影响速度,所以做成几个:myworld1.htm,myworld2.htm,myworld3.htm.....    因此,IFRAME里面的代码需要读COOKIE,然后才能够确定调用myworld1.htm,myworld2.htm,myworld3.htm.....的其中1个。2:jsworld.js的功能是
       1)读COOKIE。
       1)读取iframe里面的仅仅1个数据。
       2)把这个数据写进页面的格子里头。3,所以,IFRAME及jsworld.js均需要读取COOKIE,注意原来代码是两个文件,需要读取两次COOKIE,速度慢,不合适。所以改为只读1次,需要把IFRAME写进jsworld.js才能够实现!
      

  2.   

    gzdiablo() :   呵呵。老狗肉啊!   事情是这样的,我要实现以下功能:
       1,我在A.HTM里面有个方格id="disdata" ,需要从数据文件里面引用1个数据显示出来。
       2,为了提高浏览速度,数据文件是做成HTM文件,不用访问服务器!
       3,数据太多,所以数据文件做成myworld2.htm,myworld3.htm.....若干个,依次类推!
       4,A.HTM里面,使用IFRAME,但它是隐藏的。它只提供数据用来查询读取!
       5,IFRAME引用的文件就是A.HTM里面id="disdata"方格读取的源文件。就是myworld2.htm,myworld3.htm.....之中的1个!由COOKIE值选择其中对应1个htm文件!
       6,A.HTM里头用jsworld.js进行对IFRAME里面文件的数据读取!并写入到id="disdata"方格里面去!由COOKIE值选择读取IFRAME里面文件的对应1个数据!
       以上需要读1次COOKIE,返回数组,内含:第1个是用来查询读取数据的HTM文件的对应的数值,第2个是具体数据在该HTM文件上面的详细位置,比如说,第几行,第几列!
       因此,IFRAME需要写在jsworld.js里面。否则,读COOKIE返回的数值(赋给某个变量),怎么可能在2个不同的文件里面使用?   所以,问题简单点问,就是代码该如何写,才能够把iframe嵌入.js文件中?
      

  3.   

    貌似楼主思路错误
    我认为此函数需要实现以下功能:
    1.读cookie。
    2.利用iframe.name.location='xx.html'来定向数据文件
    3.利用iframe.document对象及其子对象获得数据,然后显示。以上3点貌似没什么难度?
      

  4.   

    xinyunyishui(心云意水) :
       iframe.name.location='xx.html'   以及  iframe.document    语法是怎么样子?我手头资料不全!愿赐教!
       原来以下这段代码该怎么改?
       <iframe id="data_myworld" style="display:none" src="myworld3.htm"></iframe>
        <TD id="disdata" rowspan="3" width="26%" align=center><SCRIPT language=javascript src="jsworld.js"></SCRIPT></TD>
      

  5.   

    看了一下你的意思大概了解了,我整理一下你的思路1.现在打开的界面是A.HTM
    2.A.HTM里面有个隐藏的iframe
    3.现在打开的界面里面有个id="disdata"  用于显示从iframe打开的文件里面取出的数据
    好了这就是你的目的你的数据是分多个文件保存在多个HTM文档里面的
    HTM里面的数据是用table保存的
    你用cookie是用来找出 你所需要的数据是在哪个文件里面的第几行第几列?
      

  6.   

    以下保存为a.htm
    <button onclick="myIframe.location='1.htm'">换</button><button onclick='alert(myIframe.document.getElementById("test").value)'>读</button>
    <iframe src="about:blank" name='myIframe'></iframe>以下代码保存为1.htm
    <input value="newPage" id="test" />自己运行下a.htm看看就知道了。
      

  7.   

    所谓利用iframe.document对象及其子对象获得数据,其实还是基础的DOM操作,只不过一般用得是document.xxxx这种,现在变成iframeName.document.xxx另外,不要跨域操作哦。
      

  8.   

    这就简单了
    和你前两天的问题综合下就明白你的意思我记得和你说过iframe和frame的操作是一样的
    你的iframe应该有个name属性 用于设定iframe内的window元素的名称
    其实你可以使用window.location="XXX.htm"的方法 更换iframe所打开的界面
    例如:
    <iframe id="data_myworld" style="display:none" src="myworld3.htm"></iframe>
    那么你的js里面只要这么写
    function loadData(urlpage,rowNum,cellNum)
    {
        data_myworld.location = XXX;
        call waitFrameReady(rowNum,cellNum);
    }function waitFrameReady(rowNum,cellNum)
    {
        if(data_myworld.document.readyState=="complete")
        {
            readData(rowNum,cellNum);
        }
        else
        {
            setTimeout("waitFrameReady("+rowNum+","+cellNum+")",100);
        }
    }function readData(rowNum,cellNum)
    {
        document.all.item("disdata").innerText = data_myworld.document.all.("数据表table的id").rows[rowNum].cells[cellNum].innerText;
    }解释一下
    你只要调用这个方法loadData(urlpage,rowNum,cellNum)就可以了
    urlpage是你的数据存放的HTM文件的连接地址
    rowNum是你数据的所在行
    cellNum是你数据的所在单元
      

  9.   

    gzdiablo():
       你太棒了!
       你所理解的就是我的意思!
      

  10.   

    gzdiablo():
        但是对于你以上的代码我还是有点疑问。
        
        要达到目的,
        第1步,首先要读取COOKIE。
        第2步,根据COOKIE里面的TABLE值,确定iframe里面的源文件。
        第3步,根据COOKIE里面的rowNum,cellNum值,读取iframe里面的数据并写进显示页面。 
       你以上的代码,
       1,看这行:<iframe id="data_myworld" style="display:none" src="myworld3.htm"></iframe>
        里头的:src="myworld3.htm"还要用javasript展开写。必须用到读取COOKIE的返回值。   2,后面那1大段的rowNum,cellNum也是读取COOKIE的返回值。
       3,我的疑问是:以上第1和第2点,分别是两个文件。同样1个变量(也就是读取COOKIE的返回值---数组)怎么能够用在两个文件呢?
      

  11.   

    gzdiablo() :
       我怀疑,我是否理解错了你的意思?   引用你所说的----------
       //其实你可以使用window.location="XXX.htm"的方法 更换iframe所打开的界面
    例如:
    <iframe id="data_myworld" style="display:none" src="myworld3.htm"></iframe>
    那么你的js里面只要这么写
    function loadData(urlpage,rowNum,cellNum)
    {
        data_myworld.location = XXX;
    //
       你的意思是不是这样:在iframe里面先载入myworld3.htm,然后后面的function loadData读取COOKIE后,强行更换iframe所打开的界面,把myworld3.htm换掉。   如果是这样的话,iframe载入了2次,当然第1次可能没有载入完就可能被换掉了。这样的话速度不是慢了吗?   代码能否这样写,先读COOKIE,然后写iframe部分,再写读取iframe所指向的数据部分,最后显示数据? 
      

  12.   

    同一个变量可以用在两个文件里的。
    iframe的src可以先设置成空
    <iframe id="data_myworld" name="data_myworld" style="display:none" src=""></iframe>
    然后在本页根据cookie设置该iframe的值.
    等待iframe里的数据加载完成了,然后用你的另外的js读去里面的值到本页指定的表格显示。
      

  13.   

    先读COOKIE,然后写iframe部分然后在iframe的onload事件响应中读取iframe所指向的数据部分,最后显示数据
      

  14.   

    to all:
        按照以上各位的方法测试过了!    gzdiablo() 的方法很好,可以实现所有功能。    myvicy(看着远方,走脚下的路。) 的方法:-----iframe的src可以先设置成空,然后在本页根据cookie设置该iframe的值.-------不能够读出数据!
        谢谢了,各位!