如何从nyroModal iframe(V2)建立密切链接

时间:2011-05-09 06:33:45

标签: jquery iframe nyromodal

如何在nyroModal iFrame上制作手动关闭链接?

我尝试使用此代码。但是,它似乎仅适用于第1版

<a href="#" onclick="parent.$.nyroModalRemove(); return false;">Close From Iframe</a>

请帮帮我〜 我是jQuery的新手,不知道如何自定义代码。

4 个答案:

答案 0 :(得分:3)

nyromodal有一个默认的函数来查找一个类(nyroModalClose),如果一个元素有这个类,则使用它作为一个紧密的链接。

所以不要:

<a href="#" onclick="parent.$.nyroModalRemove(); return false;">Close From Iframe</a>

尝试:

<a href="#" class="nyroModalClose">Close From Iframe</a>

当然你可以尝试选择顶级模态并用以下方法关闭它:

<a href="#" onclick="$.nmTop().close();">Close From Iframe</a>

答案 1 :(得分:1)

我有更好的运气,使用此

以编程方式从iframe中关闭iframe
 <a href="#" onclick="parent.$.nmTop().close();">Close From Iframe</a>

答案 2 :(得分:1)

我遇到了类似的问题,nyromodal对话框似乎没有正确关闭/打开。 $.nyroModalRemove()实际上工作正常,class="nyroModalClose"也是如此。

问题原来是IE(7和8)缓存AJAX请求。因此,下次您尝试从AJAX请求填充nyromodal时,它将不会重新提交,但会尝试重新使用缓存的请求结果,但因为它已被nyroModalRemove()删除它只会似乎nyromodal没有加载。

&paramx=Math.random()附加到AJAX URL的末尾可以解决问题。

答案 3 :(得分:1)

这是我的解决方案,我现在在项目中使用它:

var win = window.dialogArguments || opener || parent || top;
win.$('.nyroModalClose').click();

如你所说,你可以这样做:

<a href="#" onclick="win.$('.nyroModalClose').click();return false;">Close From Iframe</a>