大家好!最近业务需要遇到个问题。请大家不甚赐教。万分感谢。1、在.NET系统的页面login.htm中,通过JS动态增加了div
document.writeln("<input type=text id=txt1 value=testVal>");
document.writeln("<div id=pluginSetup style=...">");
document.writeln("<iframe src=\"http://127.0.0.1:8080/JAVAEE/pluginsetup.htm\"></iframe>");

2、其中的iframe src来源是一个JAVA业务系统的页面pluginsetup.htm
该页面在加载时调用方法window_onload,获取父页面的元素 parent.document.all.item
function window_onload()
{var code = parent.document.getElementById("txt1");..}问题:
pluginsetup.htm通过parent.document获取父页面报错。提示无法访问。
请问大家是否因为.NET和JAVA之前有限呢?JAVA系统页面无法获取父对象(因为父对象是.NET系统的页面)?因为如果直接在JAVA系统的一个页面中,通过iframe来敲套pluginsetup.htm页面。
然后pluginsetup.htm页面通过parent.document可以正常获取父对象。

解决方案 »

  1.   

    window_onload()
    这个写错了。你可以把第二个页面的onload的函数体直接运行 不放在window_onload()里运行下试试看。或者建两个静态页面测试一下。就知道哪里的错了。----------------------------------------------
    你这两个页面不存在。net java问题啊 都是html
      

  2.   


    谢谢!
    我觉得不是window_onload()方法名的问题。因为如下:
    1、在同一JAVA系统中,A页面中通过iframe嵌套B页面。
    B页面通过parent.document来访问父页面A的对象是成功的2、但是在.NET系统中,C页面通过iframe嵌套JAVA系统的B页面。
    B页面调用parent.document,直接就提示错误了。
      

  3.   

    貌似js是不区分的.net和java的吧!~
    哦~!  可能是有个问题,aspx页面加载控件的时候id发生改变了 你查看一下页面加载完成之后该控件的ID值是否跟原来一样
      

  4.   

    貌似js是不区分的.net和java的吧!~
    哦~!  可能是有个问题,aspx页面加载控件的时候id发生改变了 你查看一下页面加载完成之后该控件的ID值是否跟原来一样
      

  5.   

    document.writeln("<div id=pluginSetup style=...">");这里没有看懂!  如果是这样的话, 你的引号是不是也引错了????
      

  6.   


    发帖时的代码有省略。页面是没有问题的。
    1、.NET系统的页面是htm不是ASPX.
    2、在嵌套的页面通过parent.document来访问父页面,就报错了。
      

  7.   

    js不能跨越的,要确保域名或者IP相同
      

  8.   


    这才是正解,跨域存在访问权限问题楼主可以通过URL方式 来
    document.writeln("<iframe src=\"http://127.0.0.1:8080/JAVAEE/pluginsetup.htm?test=11\"></iframe>");