私はすでにSOで同様の質問を検索しましたが、どの方法もうまくいきませんでした。
クリックすると開くシャドウボックスがあります。
<a href="/form/foo" rel="shadowbox;height=400;width=510">Open</a>
これは正常に機能し、フォームはこの方法で最適に機能します(つまり、次を使用してフォームを簡単に閉じることができます)
window.parent.Shadowbox.close();
問題..データにajaxがあるページがあり、これらの「将来の」要素のシャドウボックスをロードしたかったので、jqueryデリゲート関数を使用してこれを行うことを考えました。
// Open our form manually
$('body').delegate("#video-form-edit", "click", function(e){
e.preventDefault();
var url = $(this).attr('href'); // Our URL
Shadowbox.open({
content: url,
player: "iframe",
height: 400,
width: 510
});
});
// If I want to close ^ this ^ shadowbox, how do i do it?
// window.parent.Shadowbox.close(); // Doesnt work
問題は、上記の「外部的に」ロードされたシャドウボックスを使用してデリゲートメソッドを使用して開かれたフォームを閉じることができないこと
です。これを行うためのより良い方法はありますか?デリゲートメソッドを使用してロードされたシャドウボックスを閉じるにはどうすればよいですか。
編集
エラーが発生し続けます未定義のメソッド'close'を呼び出すことができません。
編集2ええと、答えがないので、私は使用できることがわかりました:
parent.window.location = parent.window.location.href;
親ウィンドウにリダイレクトするには、これはImが探しているものではありませんが、誰かにとっての解決策になる可能性があります。