9-iframe 跨域

image.png

image.png

image.png

想要获取子窗口的变量,
必须满足同源条件.

父级
test.html

 
        

子级
son.html

    
         demo
        
    
image.png

image.png

iframe 跨域

  1. src里添加哈希值
    子级通过 location.hash 取值. 父传子.
    test.html

         
        
    

son.html


         demo
        
    

2.window.name
完成 子传父
window.name 是可以跨域的.
同一个窗口的不同源的网页,都共享一个 window.name
都可以操作window.name

我们设置一个中间页面, uncle
test 和 uncle 是 父子,且同源, 可以通过 contentWindow 完成子传父
uncle 和 son 不是同源, 但同一个iframe 共享同一个 window.name
可以完成 互相之间的值传递.
所以test 就能通过 uncle 来获取 son给他的数据.

test.html

    
         
        
    

uncle.html
这个什么都可以没有
son.html


         demo
        
    

这个过程完成了子传父.

无论是 用哈希值方式, 还是 window.name 的方式
都必须有传值的情况下,才能获取值.
不能在没传的情况下获取值.

image.png

image.png

你可能感兴趣的:(9-iframe 跨域)