domain只能在顶级域名相同时生效;
只是传递参数的话,可以用url参数如"xxx.com?id=1"
如果顶级域名不同又想实现操作opener的话,若两个域页面都受控制,可通过iframe绕开跨域限制,过程会很麻烦效率也低;若不是都受控制,则无解

解决方案 »

  1.   


    顶级域名是相同的,即在iframe父子页面调用场景下,document.domain改造是行的通的,但是这样子的场景用到showModalDialog上貌似行不通,目前最新的进展是:
    在B页面domain设置前将dialogArguments通过变量存储下来,然后在domain设置后去访问dialogArguments缓存的变量,即可访问dialogArguments,目前父子页面的通信也只能这么做,opener试了直接undefined
      

  2.   


    顶级域名是相同的,即在iframe父子页面调用场景下,document.domain改造是行的通的,但是这样子的场景用到showModalDialog上貌似行不通,目前最新的进展是:
    在B页面domain设置前将dialogArguments通过变量存储下来,然后在domain设置后去访问dialogArguments缓存的变量,即可访问dialogArguments,目前父子页面的通信也只能这么做,opener试了直接undefined
    那考虑是代码被阻塞的缘故,showModalDialog弹出模态窗口,原窗口js代码将被阻塞;
    看看是不是dialogArguments的赋值是在弹窗之后,所以未执行;如果是跨域缘故,是连undefined都得不到的,直接会抛出异常
      

  3.   

    IE8-下父页面设置domain为顶级域名,打开的2级页面不设置domain可以获取到传递的参数2个都设置了domain ie反倒获取不到,⊙﹏⊙b汗。。
    标准浏览器 2个都获取不到
    用弹出层加载iframe也行吧,干嘛非得用showModalDialog,showModalDialog兼容性不怎么好
      

  4.   

    IE9,IE10下会不会也都获取不到?试试去先
      

  5.   


    如果肯用iframe就好办了,现在是不肯换,唉~