//1.建立c.htm<%@ Page language="c#" Codebehind="$FILENAME$.cs" AutoEventWireup="false" Inherits="$INHERITS$" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<html>
  <head>
    <title>test</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
    <script defer>
    <!--
    function test()
    {
var sScript="<script defer>function go2(){ alert('Hello from inserted script.') };go2();</script>";
document.frames["oIfrm"].document.body.insertAdjacentText("afterBegin",sScript);
//document.frames["oIfrm"].document.body.insertAdjacentHTML("afterBegin",sScript);
}
//-->
</script>
  </head>
  <body MS_POSITIONING="GridLayout" onload="test()">
   <form id="form1" method="post" runat="server">
<iframe id="oIfrm"  src="test.htm" frameborder="yes" width="100%" height="100%" runat="server"></iframe>
</form>
  </body>
</html>//2.建立test.htm<%@ Page language="c#" Codebehind="$FILENAME$.cs" AutoEventWireup="false" Inherits="$INHERITS$" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html>
  <head>
    <title>test</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name=vs_defaultClientScript content="JavaScript">
    <meta name=vs_targetSchema content="http://schemas.microsoft.com/intellisense/ie5">
  </head>
  <body MS_POSITIONING="GridLayout">

    <form id="Form1" method="post" runat="server">
sfasfs
     </form>

  </body>
</html>之后,测试用insertAdjacentText它可以在test.htm正确显示,但改用insertAdjacentHTML它不执行?大侠帮忙调试一下.

解决方案 »

  1.   

    原贴:http://community.csdn.net/Expert/topic/3804/3804200.xml?temp=.2735102
      

  2.   

    把javascript加在iframe里还是加到当前页?没看明白
      

  3.   

    to guofengx(ttx) 加在iframe里
      

  4.   

    我劝你还是把这段要加入的代码写到iframe的src页面,然后在外部调用iframe里的function比这个好实现一些,因为确实有时候这种动态加进去的代码不执行,我也遇到过。
      

  5.   

    to guofengx(ttx)
    问题是每个静态文件是由word或excel生成,而且是由用户生成WEB页后,用FTP上传..不可能让用户每上传一个静态时,都对静态进行编辑,用户不懂.
      

  6.   

    哦,如果是这个原因的话,我们可以想别的办法,比如,你往那个页面加入的代码的具体功能是什么?是不是就是个alert?,如果是的话,这个就好办了,如果不是就是根据情况想办法了。
      

  7.   

    我想在一个静态文件加载之前执行一段屏蔽操作(要控制打印),静态文件通过<ifram src="xxx.htm">来加载,因为静态文件的数量不定,一直在增加.不可能叫用户修改htm(他们不懂),由word,excel转换成web页的.
      

  8.   

    你可以试试执行完添加javascript代码后,再用外部调用的方式调用一下加入的function先加你添加的代码中的go2();去掉如:
    执行完你的添加代码后,在包含iframe页面的页面调用
    <script language=javascript>
    <!--
     try{
     var wnd=oIfrm.window;
     wnd.go2();
     }
    catch(e){}
    //-->
    </script>试试,如果可以的话,在这里说一下。
      

  9.   

    <script defer>
    <!--
    function test(){
    var sScript="<br><script defer>function go2(){ alert('Hello from inserted script.') };go2();</script>";
              document.frames["oIfrm"].document.body.id = "BodyID";
    document.frames["oIfrm"].window.BodyID.insertAdjacentHTML("beforeBegin", sScript);
    }
    //-->
    </script>=========================
    测试通过
      

  10.   

    解决办法:http://community.csdn.net/Expert/topic/3804/3804236.xml?temp=.1159174
    WWWFIND(牧月天涯)