簡體   English   中英

ASP.NET-Window.Open(URL)-緩存了文件,如何停止它?

[英]ASP.NET - Window.Open(URL) - File is cached, how do I stop it?

我正在使用ASP.NET加載PDF。 這些文件由簡單的JavaScript在后面的代碼中調用:

ScriptManager.RegisterStartupScript(this, typeof(Page), "RedirectTo", "window.open('" + url + "')", true);

有沒有一種方法可以防止IE緩存這些文件? 也許要在JS的內部添加一些內容以防止緩存? 有些文件是根據用戶輸入進行修改的,因此下一次加載相同的URL時,相同的文件名可能是完全不同的文件。

我嘗試過刪除文件,然后再進行修改和保存,但這無濟於事。 唯一有用的是將PDF加載到IE窗口后對其進行手動刷新。

謝謝!

在網址的查詢字符串中附加一個隨機數。 經常使用日期戳:

"window.open('"+url+"&_='+(new Date()).valueOf())"

這將確保不檢索緩存的副本(緩存因查詢字符串而異)。

避免此問題與IE緩存問題(如果您不想修改緩存策略)的常見約定是將隨機數(即時生成)附加到url的末尾作為querystring參數。 不必在服務器上讀取它,它僅有助於唯一地區分請求的URL。

ScriptManager.RegisterStartupScript(this, typeof(Page), "RedirectTo", "window.open('" + url + "?random=' + Math.random())", true);
Response.Cache.SetExpires(-1);

在asp.net頁面上

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM