使用jQuery在iframe中获取HTML

这是我的情况。

我有一个名为iframe.html的文件,其中包含图像幻灯片的代码。该代码有点像

用户可以使用嵌入代码将幻灯片添加到他们的博客或网站(可以来自不同的域)。 假设用户必须在iframe.html中嵌入幻灯片,他们可以通过添加以下行来添加:

这会将完整的HTML代码从iframe.html带到index.html,现在我需要一种方法来访问iframe中的元素以调整其某些属性。

就像代码中一样,用户可以将iframe的宽度和高度设置为某些固定尺寸。 我想将幻灯片放映的大小(和包含的图像)调整为iframe容器的大小。 做这个的最好方式是什么?

我尝试以类似以下方式成功访问iframe.html的iframe组件没有成功

$('#iframe').contents();

但得到错误:

TypeError:无法调用方法“内容”为null

因此,我认为要实现iframe.html中的逻辑,其中幻灯片放映应检查父对象的宽度和高度,并相应地设置其高度。

我很困惑,希望我的问题对大多数人有意义。 请随时提出进一步的解释。 感谢您的帮助。

Ajit S asked 2020-07-30T02:11:37Z

10个解决方案

56 votes

此行将检索框架的整个HTML代码。 通过使用其他方法代替innerHTML,您可以遍历内部文档的DOM。

document.getElementById('iframe').contentWindow.document.body.innerHTML

要记住的是,只有当帧源在同一域中时,这才起作用。 如果来自其他域,则将启用跨站点脚本(XSS)保护。

Knaģis answered 2020-07-30T02:11:58Z

42 votes

试试这个代码:

.find("html")

这将返回iframe中的所有html。 可以使用任何所需的选择器来代替2988650206394319871987,例如:.find('body'),.find('div#mydiv')。

Chamara Keragala answered 2020-07-30T02:12:23Z

6 votes

var iframe = document.getElementById('iframe');

$(iframe).contents().find("html").html();

Dolo answered 2020-07-30T02:12:39Z

4 votes

$(editFrame).contents().find("html").html();

Arun Yokesh answered 2020-07-30T02:12:55Z

2 votes

如果您在一台iframe中具有以下Div,

11441551

Or

Some Text

然后,您可以使用以下代码查找这些Div的文本

var iContentBody = $("#ifrmReportViewer").contents().find("body");

var endLetterSequenceNo = iContentBody.find("#EndLetterSequenceNoToShow").text();

var divInnerFormText = iContentBody.find("#divInnerForm").text();

希望对您有所帮助。

Md. Nazrul Islam answered 2020-07-30T02:13:23Z

2 votes

这对我有用,因为它在ie8中可以正常工作。

$('#iframe').contents().find("html").html();

但是,如果您希望将javascript用作jquery,则可以这样使用

var iframe = document.getElementById('iframecontent');

var innerDoc = iframe.contentDocument || iframe.contentWindow.document;

var val_1 = innerDoc.getElementById('value_1').value;

Hermes answered 2020-07-30T02:13:47Z

0 votes

仅供参考。 这是使用JQuery的方法(例如,当您无法按元素ID查询时很有用):

$('#iframe').get(0).contentWindow.document.body.innerHTML

mxro answered 2020-07-30T02:14:07Z

0 votes

如果将jquery加载到iframe.html中,则这可能是另一种解决方案。

$('#iframe')[0].contentWindow.$("html").html()

toshi answered 2020-07-30T02:14:27Z

0 votes

为什么不尝试Ajax,检查代码的第1部分或第2部分(使用注释)。

KingRider answered 2020-07-30T02:14:47Z

-2 votes

$('#iframe').load(function() {

var src = $('#iframe').contents().find("html").html();

alert(src);

});

akash answered 2020-07-30T02:15:03Z

在iframe中写html,使用jQuery在iframe中获取HTML相关推荐

  1. 自己在项目中写的一个Jquery插件和Jquery tab 功能

    后台查询结果 PDFSearchResult实体类: [DataContract(Name = "PDFSearchResult")]public class PDFSearchR ...

  2. 怎么在html文件中写css文件,html头文件中css怎么写?

    html头文件中写css的方法:1.将css的样式代码写在html文档头文件<head></head>中的<style></style>标签中:2.在网 ...

  3. html中写jq,在jQuery中,能够操作HTML代码及其文本的方法是()

    包括瘫痪理治疗方的物脑性法不,中作法B法Cn法法Ed法上田. S评评分评分评分评分分4分B分C分D分E,够操评分轻度脑外伤G是(. 码及儿童目C目E表包项目项目项目括A症评孤独0个个项3个个项6个定量 ...

  4. html 中写样式,在html文档中如何定义内部样式表

    慕容森 在html中定义CSS样式的方法有三种,新建CSS文件 使用link 关联 这种是最常用的外部引用样式,第二种讲样式写在 head 头部里面 这种是页面样式 ,第三中样式直接写在行内  sty ...

  5. C语言中写一个函数返回参数二进制中 1 的个数

    通过C语言程序将十进制数转化成二进制数,然后求出二进制数中1的个数. 下面用三种方法来实现.来 方法一:除2取余法.对一十进制数,用2辗转相除至结果为1,将余数和最后的1从下向上倒序写就是对应的二进制 ...

  6. html中写循环语句,java在html中循环

    java在html中循环 [2021-01-31 16:25:52]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace("/( ...

  7. 在html标签中写三元运算符,如何在剃须刀中使用三元运算符(特别是在HTML属性上)?...

    借助WebForms视图引擎,我通常将三元运算符用于非常简单的条件,尤其是在HTML属性中.例如: ">My link here 上面的代码将为标签提供auth或的类,anon具体取决 ...

  8. JS中(JS转换json/jQuery转换json)中的long型大数精度丢失问题

    最近在后台向前台传输对象id时,遇到一个奇怪的问题.类似代码如下: var str = '{"id":217998860110340096}'; var jsonObj1 = $. ...

  9. 用html在黑色背景中写蓝色的字,一般设计中常见黑色背景可搭配字体颜色有()...

    一般设计中常见黑色背景可搭配字体颜色有() 更多相关问题 冷色的皮肤是偏()色的底调 牵引变电所向接触网正常供电的方式有两种:单边供电和( 从键盘上按顺序输入两个整数(输入时用一个空格分隔)给变量x, ...

最新文章

  1. Spring发布新成员:Spring GraphQL!高调出场的GraphQL能火起来了吗?
  2. 这12张手绘图,让我彻底搞懂了微服务架构!
  3. 写在2014最后一天
  4. python的用途实例-Python基础之函数原理与应用实例详解
  5. 奥鹏南开大学18春学期计算机作业,南开18春1709、1803学期《办公自动化基础》在线作业答案.doc...
  6. 比较好的php源码,目前市面上能拿到的最好的PHP跑F分源码下载
  7. 计算机应用基础形考作业3Excel,国家开放大学《计算机应用基础》考试与答案形考任务模块3 模块3 Excel 电子表格系统—客观题答案(2020年整理).pptx...
  8. java 纳秒 毫秒_golang的time包:秒、毫秒、纳秒时间戳输出方式
  9. 线性调频信号 matlab
  10. python ** 运算符_Python入门(9)运算符 — 位运算符、成员运算符、身份运算符...
  11. 吴裕雄--天生自然 高等数学学习:函数展开成幂级数
  12. 数字转换成金额大写的小程序
  13. PHP正则淘口令,Flutter代码锦囊---淘口令复制弹窗
  14. 华为安装gsm框架_华为手机怎么安装 GMS 框架和谷歌应用?
  15. MyBatis—引入外部配置文件(properties)
  16. 合取式/合取范式/主合取范式/重言式/矛盾式 基本概念
  17. 3.Tom猫的实现(帧动画播放)
  18. 实现ensp的单臂路由
  19. 可以跟风不看好瑞幸,但真该相信浑水这份方法论偏差的报告吗?
  20. PVE 下解决 iKuai 断流、重启问题

热门文章

  1. 颜色值表述区别:#FFFFFF,rgb(256, 256, 256),0xFFFFFF
  2. 基于MVC个人信息管理系统
  3. 从上家公司离开一个多月,今天前同事竟跟我说,公司要求他们删除离职人员微信好友,不删就开除!...
  4. Flutter使用ClipPath画一个聊天气泡
  5. [ISUX转译]iOS 8人机界面指南(一):UI设计基础
  6. vue.js鼠标移入变换样式,鼠标移出去除样式(active)实现方法
  7. 技巧2 router-link鼠标切换样式 vue3中.router-link-exact-active失效
  8. 原生js实现(别踩白块小游戏)
  9. php查询google pr值接口api介绍,php获取网站谷歌pr值方法
  10. 傅里叶谱方法-傅里叶谱方法求解基本偏微分方程(一维波动方程、 二维波动方程、一维非线性薛定谔方程)及其Matlab程序实现