下面是我工作:
我的頁面有一個DIV內的IFRAME
,該DIV是什麼facebox應該是fadeIn
和fadeOut
。該IFRAME
的SRC是上有一個鏈接頁面,看起來像這樣:
<a href="#" onclick="parent.close_facebox()">close this facebox modal</a>
在包含DIV和IFRAME
頁面(不叫進IFRAME
頁)的HEAD
,我有JavaScript功能close_facebox()
看起來像這樣:
function close_facebox() { jQuery(document).trigger('close.facebox'); }
就這樣。未經過跨瀏覽器測試或尚未投入生產。我花了幾個小時搜索這個問題,並試圖從單引號改爲雙引號,document-dot-this和parent-dot,即window.frames['whatever']
,這個單行函數實現了它。如果您嘗試從調用IFRAME
的頁面觸發該功能,則必須確保使用parent.close_facebox()
。希望這可以幫助。
順便說一句,請參閱facebox.js 1.2版本的第47和49行 - 此解決方案就在.js文件本身的註釋「用法」部分。我複製&粘貼線49到我的功能,沒有改變任何事情,除了取消註釋吧:)
來源
2011-11-29 18:53:53
Jim
是來自同一個域的父級和iframe內容?如果沒有,那麼它的xss限制阻止你。 –
是的,他們是一樣的。 –