前提是b.htm内容你可以控制。
1.在a.htm中做个函数判断c.htm是否产生session
2.b.htm中做个button,如果点了button,则iframe本地机(跨域,即a.htm所在域)上的文件c.htm
3.c.htm一旦载入就产生session
4.a.htm判断到有c.htm的session就产生浮动窗口。(因为a.htm与c.htm是同域所以可以判断是否有c.htm产生的session)
这样子b.htm中就有了个开关(函数)可以控制a.htm产生一个浮动窗口。

解决方案 »

  1.   

    1. 我想没上几楼说的那么复杂。以下是我的作法
    2. 我会在a.htm写个函数,假是是:function a(),作用是:让a.htm产生一个浮动窗口。
    3. 在b.htm调用a()。
    4. 代码:
    a.htm(一定要有HTML,body等标签)
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title></title>
    <script language="javascript" type="text/javascript">
    function a(){
    alert("fda");
    }
    </script>
    </head>
    <body>
    <iframe src="C:\Documents and Settings\Kive\桌面\B.htm"></iframe>
    </body>
    </html>
    b.htm
    <script language="javascript" type="text/javascript">
    top.a();
    </script>
    5.在我的IE6鸭本上通过。
    6.来个无聊签名 Kive Tja.
      

  2.   

    如下,C.htm/C1.htm位于c盘,B.htm在异域:
    C.htm:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>Hello</title>
    <script>
    function testFun()
    {
    alert('hello JK ');
    }
    </script>
    </head>
    <body>
    <iframe name=frameA src="about:blank" />
    <iframe name=frameB src="http://jk:8080/xpc/B.htm"/>
    </body>
    </html>
    ------------------------
    C1.htm:
    <HTML>
    <HEAD>
    <TITLE>过渡页面</TITLE>
    <SCRIPT LANGUAGE="JavaScript" >
    top.testFun();
    </SCRIPT>
    </HEAD>
    <BODY>
    <input type=button value="test" onclick="top.testFun();"  >
    </BODY>
    </HTML>
    ----------------------
    B.htm:
    <HTML>
    <HEAD>
    <TITLE>跨域调用Top</TITLE>
    </HEAD>
    <BODY>
    <input type=button value="直接跨域调用(会失败)" onclick="top.testFun();"  >
    <input type=button value="间接跨域调用" onclick="window.open('C:\\C1.htm','frameA')"  >
    </BODY>
    </HTML>
      

  3.   

    后来我想到一个可能的方法,但要求采用控件,即自己要编程出控件,iframe也不是直接加载的,而是加载到控件中,相当于一个模拟的子浏览器,他截获b.htm的调用来触发a.htm中的操作,因为控件是本域的,没有跨域问题,而且因为控件权限和能力都可以很高,可以截获b.htm操作。