猜测可能是因为创建对象,赋予属性,flash并不会加载吧。改成这样:
<html>
<head>
<script>
function load()
{
        //added------------------------------
        var typeName = 'SWF';
        //added------------------------------
        var openerDoc = opener.document;
        if(typeName == 'SWF')
    {    
        var flashUrl = "file:///D:/15.swf";
        var ele = openerDoc.createElement('<embed src="file:///D:/15.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"></embed>');
        //ele.setAttribute('src',flashUrl);
        //ele.setAttribute('quality','high');
        //ele.setAttribute('type','application/x-shockwave-flash');
        //ele.setAttribute('pluginspage','http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash');
        var aTd = openerDoc.getElementById('adInfo');
        aTd.insertBefore(ele);
        /*var aTd = openerDoc.getElementById('adInfo');
        var html = '<embed src="file:///D:/15.swf" quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash"></embed>;'
        aTd.innerHTML = html;*/
        
    }
    else if (typeName == 'IMAGE')
    {
    }
    else if (typeName == 'HTML')
    {
    }
    window.close();
}
</script>
</head>
<body onload="load()">
<table width="150" height="150" border="1">
<tr>
<td></td>
</tr>
</table>
</body>
</html>

解决方案 »

  1.   

    我试了一下,也不行哦。
    现在的情况是在child本页面是可以用DOM方法来添加FLASH的,只是在child被其他页面open的情况下DOM方法才失灵。
    所以我也觉得很奇怪,莫非是IE对open打开的父子窗口有一些安全限制?特别是对于ActiveX?因为在'IMAGE'分支中是可以使用DOM来添加图片的。
    本来我想用openerDoc.createElement('object');的,但我不知道如何设置PARAM参数,不知道有谁知道?
      

  2.   

    直接parent上innerHTML
     不用createelement