应该不难,jsp作为iframe的src.看了不少贴子,没有解决问题

风斧 2004-10-03 11:02:28
我要在jsp文件中引用aaa.html中定义的变量(利用javascript生成iframe的内容)
aaa.html文件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<script language="language">
var aaa ;
aaa="hehe";
</script>
</head>
<body>
<iframe id="ifrLoad" nowrap="true" style="width:100;height:100" </body>
</html>


jsp文件:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%

try
{
out.println("<script language='javascript' >");
out.println("document.writeln('true1');"); //这一行能够显示
out.println("var tree1=self.parent.aaa;");
out.println("document.writeln(true1);"); //这一行不能显示出来

out.println("</script>");
}
catch(Exception e)
{
System.out.println(e);
}
%>

</body>
</html>
...全文
190 点赞 收藏 10
写回复
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
禽兽v5 2004-10-04
去javascript论坛看faq和精华帖,顺便在那里泡一段时间,应该很有帮助。
回复
禽兽v5 2004-10-03
iframe的例子(a.htm包含b.htm):

a.htm
----------
<html>
<head>
<script>
var aaa ;
aaa="hehe";
</script>
</head>
<body>
<iframe id="ifrLoad" src="b.htm" nowrap="true"></iframe>
</body>
</html>
----------

b.htm
----------
<html>
<body>
<script>

if ( window.parent != null )
{
document.writeln('this window has a parent window');

if ( window.parent.aaa != null )
{
document.writeln('parent window object aaa = ' + window.parent.aaa);
}
}
</script>
</body>
</html>
----------

回复
风斧 2004-10-03
前贴作废。感谢各位,我以前没接触过dhtml,被一个网友的贴子激起了兴趣,把他的问题归纳了一下提出来。至此告一段落,谢谢各位,我得去看看书,少问低级问题。
最起码,要把dom,dhtml中的对象层次关系搞清楚。
回复
风斧 2004-10-03
to 小p、酒剑仙等高人:
奇怪,小p的代码很正常,但我把他们搬到jsp文件中,用out.println("小p的示例代码");输出就不对了。显示该变量不存在,怎么回事呢?请指点。
我察看了iframe的innerHtml,发现与小p的一致。
问题就是:我试验的结果-〉html可以访问复窗口变量,jsp不能。
错在那里?
帮忙阿,救命阿

如下是我的jsp文件,
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%

try
{
out.println("<script >");

out.println(" if ( window.parent != null )");
out.println(" {");
out.println(" document.writeln('this window has a parent window');");
out.println(" if ( window.parent.aaa != null )");
out.println(" {");
out.println(" document.writeln('parent window object aaa = ' + window.parent.aaa);");
out.println(" document.writeln('<br>');");
out.println(" }");
out.println(" else ");
out.println(" {");
out.println(" alert('找不到变量,可奈何!!!');");
out.println(" }");
out.println(" }");
out.println("</script>");
}
catch(Exception e)
{
System.out.println(e);
}
%>

</body>
</html>
回复
风斧 2004-10-03
“晕,你们应该补习补习这些基础知识!“
赫赫
看来还游人说错了话?复数。
top是最高的-----我对此表示怀疑,可能用错了场合。
介绍个dhtml的书把

回复
禽兽v5 2004-10-03
~>_<~我也没看过什么好书(主要是找不到),都是自己用对象属性一点点试的~~
回复
28569050 2004-10-03
晕,你们应该补习补习这些基础知识!
回复
风斧 2004-10-03
document和top、window、parent等是什么关系?
回复
lxleaves 2004-10-03
top是最高的
回复
风斧 2004-10-03
小p高哇,能否介绍一片介绍dom层次关系的文章。
我直接用window.aaa也能达到这样的效果。
最好简单介绍一下对象的层次关系。我本以为window是最高层对象。哪知window.parent.aaa正确。
俺太浅薄了,指点一二。
欢迎其他打下致电。
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告