2009-08-12 7 views
1

私はcolorboxというjqueryプラグインを使用していますが、これは私のカラーボックスが画面上のiframeを開くだけなので、これは無意味かもしれません。 /これらは私のスクリプトで上下低く設定された後、私は私のカラーボックスを呼び出すiframeを読み込んだ後にページに戻ると、javascriptの変数が使用できますか?

data.response 
data.comment 
data.userid 

だから、もっと基本的な、私はあると思い、私はjQueryを使ってAJAX呼び出しから返された私の親ウィンドウ上の3つの変数を持っていますiframeボックスに新しいページを開くiframe。私はいくつかのコード、captchaといくつかの他のもののhapensを実行し、iframeボックスを閉じる。

これで、iframeからparent.variableを使用してデータを簡単に送信できますが、逆のことはできません。

だから私の質問は、IFRAMEを閉じると、私は私の親ウィンドウに戻っていた後、3つの変数 data.response data.comment data.userid

は、これらはまだ利用されているのですか?

答えて

2

はいページを更新するか、JSのどこかでそれらを設定解除するまで利用できます。 JavaScriptのスコープについてのみ覚えておく必要があります。値が関数内でのみ定義されていれば、その関数にアクセスすることはできませんが、アクセスしようとする範囲と同じスコープで定義されていれば、問題はありません。

$(document).ready(function() { 

    var ajaxData; 
    $.getJSON('url', {foo: 'bar'}, function(data) { 
     ajaxData = data; 
    }); 

    ... 

    // then somewhere later (i.e. after closing the iframe) 
    // notice that this is still the same scope ajaxData is defined 
    if (ajaxData !== undefined) { 
     console.log(ajaxData); 
    } else { 
     alert('data undefined'); 
    } 
}); 
+0

おかげでそれは良いニュースです – JasonDavis

関連する問題