在通过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"
。
任何想法如何解决/解决这个问题将不胜感激。感谢。
答案 0 :(得分:0)
很难确切地说出你在说什么,但我怀疑这个问题可能与你在iframe中运行的代码(在POST的响应中运行的代码)有关。在一个不同的页面中,使用与父页面中的代码不同的jQuery主对象。
尝试进行设置,以便iframe代码调用父代码来传递信息。请注意(特别是在IE中)您真的不想在iframe中实例化对象,然后将它们传递给父窗口。一旦iframe被垃圾收集,只要你从父窗口引用那些对象,IE就会开始吓坏。
请记住,您可以从iframe转到父窗口的jQuery对象window.parent.$
。