作者wctang (wctang)
看板Ajax
标题Re: [问题] 如何取得iframe的网址
时间Fri Aug 24 10:37:28 2007
※ 引述《squalll (开始)》之铭言:
: 刚刚在写网页的时候..发现一个奇怪的事情
: 以下是原始码
: <a href="#" onclick="test()">Test Click</a>
: <iframe id="testframe" name="testframe" src="xxx"></iframe>
: <script language=javascript>
: function test()
: {
: //这行可以正常执行,iframe会转到yahoo
: frames['testframe'].self.location.href="http://www.yahoo.com.tw";
: //这行却无法显示出iframe的网址
: alert(frames['testframe'].self.location.href);
: }
: </script>
: 有人知道原因为何吗? 照理说alert应该会显示iframe中的网址才对..
: 不知道是否漏了甚麽..
: 谢谢大家 :)
因为是跨 domain 的问题,所以只能设定 iframe 的网址,而不能读取,也不能
读取 iframe 的内容。
你可以试试如果 iframe 内是同一个 domain 的 link 的话,就可以读取网址,
也可以读取内容。
顺便想和大家讨论一下这种跨 domain 的通讯到底有哪几种方式?
我目前知道的有:
1. 动态产生 script element 载入一个 json 的 callback 。
2. 利用 iframe 这种可以设定 url 的方式,侦测 url 的变化来通讯。
这里有我写的一个例子:
http://www.wctang.info/outer.html
outer.html 和 inner.html 是不同的 domain ,双方都侦测 url 的变化,
outer 把 time 传给 inner , inner 计算後回传给 outer 。
还有其他的形式吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.125.148.101
1F:推 besthand:在server端写一个proxy网页也可以~ 09/08 04:03