2008-11-27 48 views
1

有沒有什麼辦法可以在不設置document.location.href的情況下關注JavaScript中的網址?使用JavaScript關注網址

我有一個頁面顯示對象的列表,每個對象可能有一個文件下載與它相關聯,它可以通過超鏈接訪問。點擊該鏈接將啓動一個AJAX請求,最終生成一個臨時文件,該文件可以被唯一的臨時URL引用。

當AJAX調用完成時,它只是將document.location.href設置爲臨時URL,並啓動文件下載。當然這有改變瀏覽器地址欄中的URL的副作用,所以如果刷新頁面,則文件被再次下載,而不是刷新對象列表頁面本身。我想我可以將URL設置回原來的樣子,但這感覺有點不合理。

順便提一下,我使用Prototype JavaScript框架。

回答

3

你可以用新的網址打開一個新窗口?或嘗試設置一個iframe的url到新的url,兩者都應該提供一個文件下載(後者是更好的選擇)

+0

創建一個新窗口並在該窗口中加載該URL是一個好主意。我敢肯定,大多數瀏覽器一旦意識到它不是HTML文件就會自動關閉彈出窗口。 – Kibbee 2008-11-27 20:14:49

2

您可以使用隱藏的iframe - 將src設置爲要下載的文件。

2

如果您只是爲了觸發文件下載而做的所有這些,聽起來像是一個使用隱藏的iframe的好應用程序。相反,請設置Iframe的SRC,這樣就不必混淆主頁面。