当前位置iframe何时改变?

时间:2014-02-26 12:04:48

标签: javascript jquery iframe

我有这段代码:

<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
function enviar(parametro){
var conteudo = $('#iframe_conteudo').attr('src');
alert(conteudo);
}
</script>
<a href="#" id="" onclick="enviar('pegar')">pick url</a>
<iframe id="iframe_conteudo" src="http://www.yahoo.com" width="500" height="500"></iframe>

当我更改iframe中的链接时,例如:

Yahoo.com在iframe中运行,当我点击雅虎网站上的“游戏”时,iframe将我重新加载到新页面(iframe内部),但是当我点击按钮'pick url'时,而不是抓住我确切的网址,它会给我一个提醒。第一个网址是'yahoo.com'为什么会发生这种情况?'

3 个答案:

答案 0 :(得分:0)

尝试使用

$("#iframe_conteudo").get(0).contentWindow.location

答案 1 :(得分:0)

为什么会这样?

这是因为当iframe中的网页导航到新的网页地址时,您的iframe网址没有被更改。您已导航到不同的页面但尚未更改iframe的src。这就是为什么它总是会警告应用于iframe的原始src。

你可以用firebug / chromeInspector调试它。

答案 2 :(得分:0)

您的函数正在检查“src”属性,该属性被硬编码为“http://www.yahoo.com”。在iframe中加载新网址时,“src”属性不会更改。

尝试:$(“#iframe_conteudo”)。contentDocument.location

仅当两者都在同一个域内时才会起作用。默认情况下,同源策略将阻止跨域。