在iframe上设置opener属性

时间:2010-06-18 18:40:27

标签: javascript django django-admin

我正在使用的框架(django admin)在向数据库添加新项目时会弹出一个新窗口。我想使用灯箱而不是弹出一个新窗口(现在是fancybox),我正在使用iframe选项。但是,当我在iframe中单击“保存”时,会将请求发送到服务器,并且服务器会响应一个只包含javascript代码的页面:opener.dismissAddAnotherPopup(...)。此函数基本上关闭窗口并刷新父(开启者)窗口中的字段。由于我没有设置开启器,它会返回错误并且永远不会关闭iframe。无论如何在iframe上设置开启器以使其不为空?

非常感谢!

杰森

1 个答案:

答案 0 :(得分:0)

执行此操作的方法是覆盖发送javascript的管理视图。这些内容包含在django.contrib.admin.optionsModelAdmin.response_addModelAdmin.response_change方法中。您可以在模型的管理类中简单地覆盖它们,以便它们返回正确的fancybox结束代码。