Получить метатеги и содержимое тегов img из источника iframe, используя jQuery/Javascript
У меня есть 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>
Мне нужно извлечь содержимое мета-тегов и списков изображений a.html с родительской страницы, используя jQuery или javascript.
Я старался
alert($('#frame1').contents().find($('#meta[name=description]').attr("content")).html());
and
$('meta[name=author]').attr("content");
Но не получил решение. Есть идеи, как это сделать?
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'));
})
Например, поместите кнопку и на кнопку получите содержимое iframe
function getContentFromIframe(){
var myIFrame=document.getElementById('iframe');
var content=myIFrame.contentWindow.document.body.innerHTML;
}