【问题标题】:jQuery iframe issuejQuery iframe 问题
【发布时间】:2010-02-22 17:36:31
【问题描述】:

在通过 iframe 加载页面后,我遇到了 jQuery 问题。

这是它的工作原理。 Mainpage.php 中有一个 iframe,用于上传照片/文件。在 Mainpage.php 上有一个 div 用于显示照片/文件。 div 由 ajax 调用填充,该调用检索 HTML 并将其放置在 div 中。当我来到 Mainpage.php 并单击照片链接时,一切正常,该链接运行 Ajax 并加载照片/文件。

问题:我有一个显示 iframe 的“新建”按钮。在 iframe 页面中,我使用表单上传将照片上传到服务器,然后如果成功,我会回显一个运行相同 Ajax 代码的 javascript 字符串以在正确的 div 中显示照片。一切正常,它会更新 Mainpage.php 上的 div,但是,照片会显示,但 jQuery 功能不再起作用,所以我的 tablesorter 功能停止工作(错误:文档为空),并且照片不显示带有它们的边框(我使用绑定到一个类的 css,jQuery 将其应用于元素以显示边框)。我正在为我的照片库使用 visuallightbox,而用于显示图像的 jQuery JavaScript 不再有效。我在加载照片时遇到的错误是:"uncaught exception.....NS_ERROR_INVALID_POINTER"

任何如何解决/解决此问题的想法将不胜感激。谢谢。

【问题讨论】:

    标签: jquery iframe


    【解决方案1】:

    很难准确地说出您在说什么,但我怀疑问题可能与您的 iframe 中运行的代码(在 POST 的响应中运行的代码)有关位于不同的页面中,其 jQuery 主对象与父页面中的代码不同。

    尝试进行设置,以便 iframe 代码调用父级以将信息传递给它。请注意(尤其是在 IE 中)您真的不想在 iframe 中实例化对象,然后将它们传递给父窗口。一旦 iframe 被垃圾回收,当你从父窗口引用这些对象时,IE 就会开始崩溃。

    请记住,您可以通过window.parent.$ 从 iframe 获取父窗口的 jQuery 对象。

    【讨论】:

    • 谢谢尖头。我发现问题与使用 jquery 的第三方编写的 .js 文件有关。我按照您的建议到达了父 div,然后发现我可以正确显示内容的唯一方法是放置超链接并重新加载 html。
    猜你喜欢
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多