
由于浏览器安全策略的限制,iframe的src地址必须为同域才可以获取内容。
我做了一个案例,分别创建了一个父页面(parenthtml)以及一个子页面(childrenhtml)。代码如下:
父页面(parenthtml):
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<title>我的父页面</title>
</head>
<body>
<iframe src="childrenhtml" frameborder="0"></iframe>
<script type="text/javascript">
//获取iframe的对象。
var iframe = documentquerySelector('iframe');
//必须使用onload来确保iframe页面内容加载完毕后再获取。
//如果在未渲染完毕就获取,将得到“空”的结果。
iframeonload = function(){
//先通过contentDocument获取iframe的文档对象。
//再通过querySelector来获取body的对象。
//最后使用innerHTML来获取body的HTML内容。并打印。
alert(iframecontentDocumentquerySelector("body")innerHTML);
}
</script>
</body>
</html>
子页面(childrenhtml):
<!DOCTYPE html><html>
<head>
<meta charset="UTF-8">
<title>我的子页面</title>
</head>
<body>
<p>我是子页面P元素的内容</p>
<div id="name">我是子页面ID为name的内容</div>
</body>
</html>
其中在父页面中书写了获取子页面内容的JavaScript代码。
示例中是获取子页面body中的全部内容。结果如下:
iframe取得html内容的方法是利用jquery解析dom树实现的。
例如有如下iframe:
<iframe id="ifrmReportViewer" name="ifrmReportViewer" frameborder="0" width="980"
<div id="EndLetterSequenceNoToShow" runat="server"> 11441551 </div> Or
<form id="form1" runat="server">
<div style="clear: both; width: 998px; margin: 0 auto;" id="divInnerForm">
从这里获取所需要的内容
</div>
</form>
</iframe>
获取div内容的方法:
var iContentBody = $("#ifrmReportViewer")contents()find("body");
var endLetterSequenceNo = iContentBodyfind("#EndLetterSequenceNoToShow")text();
或者是
var divInnerFormText = iContentBodyfind("#EndLetterSequenceNoToShow")text();
documentgetElementById('iframe')contentWindowdocumentbodyinnerHTML
<iframe src=">
直接是不行的。
1、用c#往webbrowser里面外层网页注入一段javascript,这段javascript的作用是向iframe注入代码。
2、向iframe注入的代码的作用是获取document的源代码;
3、把获取到的源代码返回到外层网页里面的一个对象里。
4、用c#从外层网页取这个源代码。
Jquery可以使用“$("iframe body")html()”语句获取iframe里面body的html内容。
jQuery选择器允许对HTML元素组或单个元素进行 *** 作,所有选择器都以美元符号开头:$()。元素选择器基于元素名选取元素,例如:“$("p")”可以获取页面中所有<p>元素对应的jquery对象。
jQuery对象的html()函数用于获取该对象对应html标签内包含的所有html代码。
扩展资料:
jQuery选择器的分类:
1、元素选择器
jQuery元素选择器基于元素名选取元素,例如:“$("p")”用于选取出所有p标签的jquery对象。
2、id选择器
jQuery #id选择器通过HTML元素的id属性选取指定的元素。页面中元素的id应该是唯一的,所以您要在页面中选取唯一的元素需要通过#id选择器,例如:“$("#test")”于选取出id为“test”的jquery对象。
3、class 选择器
jQuery类选择器可以通过指定的class查找元素,例如:$("test")用于选取出所有包含“test”类的jquery对象。
参考资料来源:百度百科-jQuery
以上就是关于如何用js打印 iframe里面的内容全部的内容,包括:如何用js打印 iframe里面的内容、iframe 怎么取得html内容、js如何远程获取iframe标签内容等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)