2012-08-15 68 views
2

我想在加載腳本時禁用時間戳。請參閱圖像使用時間戳禁用加載腳本

enter image description here

http://dl.dropbox.com/u/19616542/Capture.PNG

我還設置了AJAX,緩存:真。下面是代碼:

$.ajax({ 
      url:url 
      data:{}, 
      type:'post', 
      cache: true, 
      dataType:'json', 
      success:function(data,status){ 
//something here 

      } 
      else { 
       window.location.reload(); 
      } 
      } 
}); 

,也是我有

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<meta http-equiv="Pragma" content="Public"> 
<meta http-equiv="Cache-control" content="public"> 
<meta name="keywords" content="something"> 
<meta http-equiv="Content-Style-Type" content="text/css"> 
<meta http-equiv="Content-Script-Type" content="text/javascript"> 

我使用jQuery.1.7.2

+0

這些都是爲'GET'但你上面有'POST' – Musa 2012-08-15 00:44:02

+0

這樣就意味着我需要做的POST所有的Ajax? – Sml004 2012-08-15 00:48:25

+0

但看看第一行,我只是加載jQuery。但爲什麼它有時間戳? – Sml004 2012-08-15 00:49:26

回答

3

我不確定爲什麼jQuery試圖加載自己,但是這似乎與$.getScript()調用有關。

你可以考慮添加以下代碼段爲高達越好:

$.ajaxSetup({ 
    cache: true 
}); 

cache: true$.ajax()不以任何方式影響$.getScript(),這就是你在截圖看到的。

+0

我應該把這個放在哪裏? $ .ajaxSetup({cache:true }); 因爲我已經把ajax函數中的cache:true。 – Sml004 2012-08-15 01:08:30

+0

@ Sml004你應該把它放在你的HTML中的

1

我不知道很多關於笨直接在HTML的標題,但它應該和CakePHP一樣。你應該有一個類似config的文件名或類似的文件名,它包含一個調試級別。當它設置爲調試mod時,它可能會自動爲腳本添加時間戳並處理堆棧的錯誤不同

+0

是的,我將它設置爲4級,它將記錄所有錯誤。但當我禁用它(設置爲0),我仍然得到時間戳。 – Sml004 2012-08-15 01:00:56

+0

應該有另一個變量!我目前正在查看codeIgniter代碼來嘗試找到它。在cake中,有一個名爲asset.timestamp的變量,我可以將它設置爲true或false(並且也可以將它與調試級別相鏈接)。代碼點火器應該有類似的東西! – 2012-08-15 01:04:08

+0

你用什麼codeIgniter函數來加載腳本?你只是加載他們的HTML字符串,或者你加載他們的功能? – 2012-08-15 01:18:23

1

$.ajaxPrefilter('script', function(options) { 
    options.cache = true; 
}); 

// or 

+ function($) { 
    $.cachedScript = function(url, options) { 
     // Allow user to set any option except for dataType, cache, and url 
     options = $.extend(options || {}, { 
      dataType: "script", 
      cache: true, 
      url: url 
     }); 

     // Use $.ajax() since it is more flexible than $.getScript 
     // Return the jqXHR object so we can chain callbacks 
     return $.ajax(options); 
    }; 
}(jQuery); 

// now, you can use $.cachedScript() 

你可以去查看文檔$.getScript()