//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它不执行?大侠帮忙调试一下.
<!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它不执行?大侠帮忙调试一下.
问题是每个静态文件是由word或excel生成,而且是由用户生成WEB页后,用FTP上传..不可能让用户每上传一个静态时,都对静态进行编辑,用户不懂.
执行完你的添加代码后,在包含iframe页面的页面调用
<script language=javascript>
<!--
try{
var wnd=oIfrm.window;
wnd.go2();
}
catch(e){}
//-->
</script>试试,如果可以的话,在这里说一下。
<!--
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>=========================
测试通过
WWWFIND(牧月天涯)