使用jQuery / Javascript从iframe源获取meta标签和img标签内容

时间:2013-07-12 07:09:49

标签: javascript jquery dom meta-tags

我有一个包含以下内容的HTML文件

<html>
<head>
<meta charset="utf-8">
<title>builder 1.0</title>
<body>
<iframe width="100%" height="100%" src="a.html" name="cxsideframe" scrolling:'no';="" id="frame1" style="overflow:hidden;">
</iframe>
</body></html>

a.html的内容是

<html>
<head>
<meta charset="utf-8">
<title>builder v1.0</title>

<meta content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">

<meta content="desc goes here" name="description">
<meta content="auth name" name="author">
<body>
<img src="http://example.com/images/01._V397411194_.png" style="display:none" alt=""/>
<img src="http://example.com/images/V386942464_.gif" style="display:none" alt="" />
</body></html>

我需要使用jQuery或javascript从父页面中提取a.html的元标记和图像列表的内容。

我试过

alert($('#frame1').contents().find($('#meta[name=description]').attr("content")).html());


and 
$('meta[name=author]').attr("content");      

但是没有得到解决方案。关于如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分:2)

获取属性content的值使用

alert($('#frame1').contents().find('meta[name=description]').attr("content"));

并将所有图像作为数组

$('#frame1').contents().find('img')

编辑:确保在加载iframe内容后调用这些方法。 所以使用

$("#frame1").ready(function(){
alert($('#frame1').contents().find('meta[name=description]').attr("content"));
alert($('#frame1').contents().find('img'));
})

答案 1 :(得分:-1)

例如,放置一个按钮并在按钮上获取iframe的内容

function getContentFromIframe(){
    var myIFrame=document.getElementById('iframe');
    var content=myIFrame.contentWindow.document.body.innerHTML;
}