当前位置: 首页 > 面试题库 >

jQuery .ready在动态插入的iframe中

宗政卓
2023-03-14
问题内容

当有人点击图片时,我们使用jQuery厚盒来动态显示iframe。在此iframe中,我们使用Galleria一个JavaScript库来显示多张图片。

问题似乎是,$(document).ready在iframe中似乎触发得太早了,并且iframe内容还没有加载,因此Galleria代码未正确应用于DOM元素。$(document).ready似乎使用iframe父就绪状态来确定iframe是否已就绪。

如果我们将准备好的文档调用的函数提取到单独的函数中,并在100毫秒超时后调用它。它可以工作,但是我们不能利用速度较慢的计算机进行生产。

$(document).ready(function() { setTimeout(ApplyGalleria, 100); });

我的问题:当动态iframe就绪且不仅是父级时,我们应该绑定到哪个jQuery事件以执行我们的代码?


问题答案:

我回答了类似的问题完成IFRAME加载后,请参阅Javascript回调吗?。您可以使用以下代码来控制iframe加载事件:

function callIframe(url, callback) {
    $(document.body).append('<IFRAME id="myId" ...>');
    $('iframe#myId').attr('src', url);

    $('iframe#myId').load(function() {
        callback(this);
    });
}

在处理iframe时,我发现足以使用加载事件而不是文档就绪事件了。



 类似资料:
  • 问题内容: 我正在尝试使用Angular 1.2将iframe动态插入页面中。这是代码: HTML: js: 因此data.html是一个具有有效HTML开头的字符串 该字符串还包含一些div。所以它看起来像: 我在app.js’ngSanitize’中使用。它显示的是div(在iframe之后),而不是iframe本身。 如果我使用jQuery,基本上 效果很好…但是试图使其正确的angular

  • 问题内容: 我正在尝试将一些内容插入“空白” iFrame中,但是没有插入任何内容。 HTML: JS: 我正在调用该函数,所以我不明白为什么它没有插入。 问题答案: 您真的不需要jQuery: 如果绝对必须使用jQuery,则应使用 请不要忘记,如果您使用的是jQuery,则需要按如下所示插入DOMReady函数:

  • 问题内容: 试图使用AngularJS将iframe插入页面,即使是最简单的形式,我也无法使其工作。 Java脚本 我的HTML: 问题答案: 您需要使用$ sce 服务来告诉angular在视图上呈现html内容 Angular Doc说 $ sce是一项为AngularJS 提供 严格的上下文转义 服务的服务。SCE通过以下方式帮助编写代码:(a)默认情况下是安全的,并且(b)使得对安全漏洞(

  • 问题内容: 我有一个小问题。从服务请求数据后,我得到了一个iframe代码作为响应。 我想将其作为道具传递给我的模式组件并显示它,但是当我在render函数中简单地将其显示为字符串时。 在react中将其显示为html的基本方法是什么? 问题答案: 您可以像这样使用property 同样,您可以从 字符串中 复制所有属性( 根据问题,您从服务器获取iframe作为字符串 ),其中包含标签,并将其传

  • 我正在做一个自动数据库填充程序,我遇到了一个我无法理解的错误。 我正在开发一个脚本,它应该处理大量文件,包含多个值。文件中的信息具有以下结构: id time_stamp(值1值2值3值4值5)*i(值1值2值3值4值5)*n(值1值2) - I和n (n = nGrupos)是已知的,I从1变化到I,n从1变化到2。每个括号集将被插入到不同的表中,因此有以下5个值。 我遇到麻烦的代码是(我不能让

  • 我是Java新手,在将动态数据插入Excel文件时遇到问题。下面是下面的代码。如果我删除我的excel文件并重新运行我的程序。然后它会创建一个新的文件,也会插入下面的数据。(hello,goodbye,true,date)。在第一次运行期间,程序仍然可以插入下面的数据,但是当我执行下一次运行时,数据不能存储到下一行。这是下面的代码来检查文件是否存在。我希望我可以得到一个人来帮助我,因为我正在为这段