2013-02-07 49 views
0

我想从iframe中获取div的内容。我有以下代码:从iframe中获取一些内容

$('iframe').load(function() { 
    setTimeout(function() { 
    content = $("iframe").contents().find("div#totaltime").html(); 
    alert(content); 
    }, 800); 
}); 

我警告消息说“不确定”,但,当我删除“ html的()”我得到一个警告说‘的翻译:’......任何想法如何提取这个div的内容。在“1:33”中应该只有一段时间,但是当我运行.text()而不是.html()时,我只是得到一个空白的警报。

这是HTML从iframe中:

<div id="totaltime" class="item graytext" style="visibility: visible; left: 368px; top: 51px; width: 32px; height: 16px; font-size: 11px; font-family: Arial;">06:44</div> 

谢谢!

UPDATE

好吧,我改为:

$(window).load(function() { 
    setTimeout(function() { 
    content = $("iframe").html(); 
    alert(content); 
    }, 800); 
}); 

现在我只想找到一个空白的警告框。

+0

你为什么要等$('iframe')然后从$(“#iFrame”)读取? –

+0

对不起,修正了在我的代码中,但仍然是同样的问题! – Abram

+0

您通过标记名称获取iframe,页面上只有一个iframe?但是,等待$ .load方法不是用于等待加载iframe,而是将外部资源加载到此标记中。看到http://api.jquery.com/load/ –

回答

0

如果您parent and childboth in the same domain那么,试试这个(using pure javascript)。如果他们不是在同一个域中,出于安全原因,它是不可能在不同域的iframe中访问内容;

var iframe = document.getElementById("your_iframeId"); 
alert(iframe.contentWindow.document.getElementById('totaltime').innerHTML); 
+0

我收到Chrome扩展程序:不安全的JavaScript尝试使用URL访问框架域名,协议和端口必须匹配 – Abram

+0

啊,要访问像这样的任何内容,父项和子项都应位于同一个域中 – Kaf