问题标签 [iframe]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
715304 浏览

javascript - jQuery/JavaScript:访问 iframe 的内容

我想使用 jQuery 在 iframe 中操作 HTML。

我想我可以通过将 jQuery 函数的上下文设置为 iframe 的文档来做到这一点,例如:

但是,这似乎不起作用。一些检查表明,除非我等待 iframe 加载,否则其中的变量frames['nameOfMyIframe']是。undefined但是,当 iframe 加载时,变量不可访问(我得到permission denied-type 错误)。

有谁知道解决这个问题的方法?

0 投票
2 回答
1352 浏览

javascript - 从 iframe 访问 id

在这里,我构建了一个带有iFrame. 我在iFramesrc 页面中有一个 id。是否可以通过 JavaScript 从我当前的页面访问 id。

请帮我。

0 投票
3 回答
36037 浏览

sharepoint - 从内容编辑器/页面查看器 Webpart 中删除滚动条

我正在尝试在另一个 SharePoint webpart 页面中显示 HTML 页面。

我使用了开箱即用的页面查看器 Web 部件,但页面查看器 Web 部件在其中显示了一个禁用的滚动条。

我还尝试使用其中带有 IFRAME 标记的内容编辑器 Web 部件,但它仍然无法正常工作。

这是我在内容编辑器 webpart 中使用的代码。

0 投票
8 回答
126399 浏览

javascript - 将焦点设置为 iframe 内容

我有一个带有document.onkeydown事件处理程序的页面,我将它加载到另一个页面的 iframe 中。我必须在 iframe 内单击才能让内容页面开始“收听”。

有什么方法可以在外部页面中使用 JavaScript 将焦点设置到内部页面,这样我就不必在 iframe 内单击?

编辑:回复评论:

上下文是主窗口是一个类似灯箱的系统,除了不是图片,它显示 iframe,每个 iframe 都是一个带有 keydown/mousemove 处理程序的交互式页面。直到我在显示灯箱后单击 iframe 后,这些处理程序才会触发。

我实际上并不是在寻找传统意义上的“setFocus”,而是“在 iframe contentDocument 上启用事件处理程序”

0 投票
3 回答
1741 浏览

iframe - iFrame 导致 IE7 中的脚本拖拽问题(包括完整代码)?

当我在 IE7 中的 iframe 上拖动可拖动 div 内的链接时,我得到了非常奇怪的结果。试试下面的代码,如果你对如何解决这个问题有任何建议,请告诉我。

0 投票
9 回答
222748 浏览

javascript - 如何防止 IFRAME 重定向顶级窗口

一些网站有代码来“突破”IFRAME外壳,这意味着如果页面作为父页面内部A加载,则某些 Javascript会将外部窗口重定向到.IFRAMEPAA

通常这个 Javascript 看起来像这样:

我的问题是:作为父页面P的作者而不是内页的作者,我该A如何防止A这种突破?

PS 在我看来,这应该是跨站点安全违规,但事实并非如此。

0 投票
2 回答
4536 浏览

javascript - 使用 javascript 将整个文档复制到 iframe

听起来很奇怪,但这就是我试图用 javascript 做的事情(这都是由事件处理程序触发的):

  1. 将页面的内容(最好是整个文档或至少 documentElement 对象)保存到变量中。
  2. 创建一个 iframe 并将其插入正文。
  3. 将 iframe 的文档替换为保存的文档(这样 iframe 现在与外页具有相同的内容)。
  4. 更改外页。

除了替换 iframe 文档的部分外,一切都很花哨。我尝试了很多不同的方法,但都有问题(如下所述)。当页面位于 iframe 中时,我需要事件处理程序、样式、链接等才能正常工作。

是的,我意识到我可以将 iframe 的 src 设置为当前页面的 url,但我宁愿页面不必加载。如果我不能想出一个解决方案,这就是我要做的。


我已经尝试过的事情:

我收到一条错误消息(“设置只有 getter 的属性”)。

这似乎有效,但不会重新渲染样式,并且事件处理程序不起作用。有趣的是,链接也不起作用,甚至连浏览器的默认样式都没有。也许这是因为 DOCTYPE 没有复制到 iframe?

这与 removeChild/appendChild 方法具有相同的行为。


似乎如果我可以让浏览器重新呈现样式并重新注册事件处理程序,那么我会很高兴,但我不确定这是否可能。

0 投票
3 回答
23171 浏览

javascript - iFrame / Javascript鼠标加速中的Javascript iPhone滚动效果

我正在尝试使用 JavaScript 在窗口中重新创建 iPhone 轻弹/滚动事件。

从 JQuery 开始,我正在使用计时器测量鼠标在单击 - 拖动 - 释放事件期间的加速度和偏移:

现在的问题是将加速转化为屏幕移动 - 是否有任何算法(缓动?)或动画库可以帮助我解决这个问题?(我已经查看了 JQuery 的 .animate() 但我不确定如何在拖动事件期间连续应用它!

更新 - 这里的最终解决方案:

http://johnboxall.github.com/iphone.html

0 投票
3 回答
6120 浏览

ajax - 使用 iframe 和 ajax 包含外部页面的内容有什么区别?

我一直在阅读这方面的内容,似乎如果您使用 ajax,您只能引入位于同一域中的内容,而使用 iframe,您可以引入来自任何域的内容。是这样吗?还有哪些不同之处?

0 投票
2 回答
10823 浏览

javascript - 如何将 div 放置在两个 iframe 上,其中一个 iframe 具有外部(不同域)内容?

我正在寻找一种方法将 div (它将是一个弹出窗口,由用户悬停和/或单击很像灯箱一样激活)在一个拆分 iframe 上,其中顶部 iframe 是来自我的服务器和底部 iframe 是来自另一台服务器的内容。像这样:

基本上,它看起来像一个在顶部(上部)和底部(下部;外部内容)之间水平拆分的框,以及一个悬停在两者上方的 DIV,因此顶部和底部都有重叠。

顺便说一句,我还发布了另一个问题:ajax 与 iframe 的外部内容以及在这种情况下我应该使用什么。因此,较低的(外部内容)不一定必须是 iframe,具体取决于答案。