var doc = Withwolf.document;
doc.open();
doc.write('<frameset cols="120,*"><frame name="left" src="' + url + '"><frame name="right" src="default.html"></frameset>');
doc.close();
Withwolf.focus();

解决方案 »

  1.   

    有时行有时不行的原因是,window.open打开是异步执行的,即执行到window.open代码并不等待open是否完成即执行随后代码。这样的话可能造成
    mwinp.frames('left').location=main;
    时,open窗口可能并未装载完成,即还没有left框架结构。这试你的机器性能和使用状况了。对left框架赋值前,先检测一下open的装载状态即可。代码如下:==================================主页面:index.htm:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <META NAME="Author" CONTENT="Seagle.K">
    <STYLE TYPE="text/css"></STYLE>
    <SCRIPT LANGUAGE="JavaScript">
    var timeHdl;
    var Withwolf;
    var url='openwin.htm';
    var main = 'http://search.csdn.net';function setLeftFrame()
    {
    if (Withwolf.document && Withwolf.document.readyState == 'complete')
    {
    Withwolf.frames('left').location = main;
    Withwolf.frames('right').location = "javascript:document.write('左框架装载完毕')";
    window.clearTimeout(timeHdl);
    }
    }function openwin()
    {
    Withwolf=window.open(url,'popupcal','width=800,height=600,left=200,top=250');
    Withwolf.focus();
    timeHdl = window.setTimeout(setLeftFrame, 1000);
    }</SCRIPT>
    </HEAD>
    <BODY>
    <button onclick="openwin()">打开窗口</button>
    </BODY>
    </HTML>==================================打开的窗口页面: openwin.htm<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
    <HEAD>
    <TITLE> New Document </TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <META NAME="Author" CONTENT="Seagle.K">
    <STYLE TYPE="text/css"></STYLE>
    <SCRIPT LANGUAGE="JavaScript"></SCRIPT>
    </HEAD>
    <FRAMESET frameborder=1 COLS="30%,*">
    <FRAME SRC="about:blank" NAME="left">
    <FRAME SRC="javascript:document.write('正在装载左框架...');document.close()" NAME="right">
    </FRAMESET>
    </HTML>