2011-05-01 68 views
0

我有任何陣列稱爲query[]我如何通過任何陣列的窗口window.open()被打開

我打開一個新的窗口:

window.open("http://localhost:8081/myapp/Query.action","mywindow","menubar=1,resizable=1,width=600,height=400"); 

我如何通過這數組到新窗口,所以我可以在那裏使用它。

編輯:我剛發現這個,Pass array to Window這可能會提供答案。

EDIT2:在問題2487420提供了答案似乎不工作,我使用FireFox和openDialog從不打開一個新窗口

新要求:這個只需要在FireFox中工作,因爲我只用它供測試用。

+0

數組包含什麼?如果它是簡單的項目(例如數字),請參閱我的答案。 – 2011-05-01 12:41:14

回答

3

你不能「通」的數組,但你可以把它可以作爲一個全球性的(或者通過一個全球性的),你的新頁面可以使用類似:

var theArray = window.opener.theArray; 

以訪問它。

或者,您可以可以作爲參數列表傳遞數組,但是如果它對服務器不是很有趣,那麼這會有點浪費。

+0

謝謝你的作品。 – Ankur 2011-05-01 12:57:07

0

你也可以通過它的URL爲好,例如:

window.open("http://localhost:8081/myapp/Query.action?arr=" + query.join(","), "mywindow", ... 

這將會把它作爲逗號分隔,可以在目標頁面讀取列表。

+0

請注意,數組中的項目必須可以轉換爲字符串,並且它們不能包含任何有害字符或在URL中具有特殊含義的字符,例如空格,冒號或斜線,當然也不會包含逗號將一個項目分爲兩個。 – Guffa 2011-05-01 12:38:41

+0

@Guffa謝謝,好點。也可以使用'encodeURIComponent',但首先讓我們看看OP所說的內容。 – 2011-05-01 12:41:55

相關問題