Претражи подршку

Избегните преваре подршке. Никада од вас нећемо тражити да зовете или шаљете поруке на број или да делите личне податке. Пријавите сумњиве радње преко „Пријавите злоупотребу” опције.

Learn More

firefox 6.0, extension getfilesize, last modified time always return "2011.05.16 xxx", it seemed there is bug in XMLHTTP.getResponseHeader('Last-Modified') ?

  • 1 одговор
  • 1 има овај проблем
  • 10 прегледа
  • Последњи одговор послао raidsan

more options

file: chrome\content\load.js there is some bug, so firefox 4.0 can't run it correct. then i modify the source code as following:

function get_file_meta(url, callback, strings) {

   XMLHTTP = new XMLHttpRequest();
   XMLHTTP.open("HEAD", url, true);
   XMLHTTP.url = url;
   XMLHTTP.callback = callback;
   XMLHTTP.strings = strings;
   XMLHTTP.onreadystatechange = function()
   {
       if(XMLHTTP.url && 4 == XMLHTTP.readyState)
       {
           var size = XMLHTTP.getResponseHeader('Content-Length');
           var stime = XMLHTTP.getResponseHeader('Last-Modified');
           XMLHTTP.url = ;

           var str_size = ;

           var str_time = ;

           if(size)
           {
               var strings = XMLHTTP.strings;
               str_size = strings.getString("Size") + ': ' + format_size(size, strings) + (size > 1024 ? ' (' + size + ' ' + strings.getString("bytes") + ')' : );

               var time_str = '-';
               if(stime)
               {
                   var t = new Date(stime);
                   time_str = t.toLocaleString();
               }
               str_time = strings.getString("Last modified") + ': ' + time_str;
           }
           XMLHTTP.callback(str_size, str_time);
file: chrome\content\load.js there is some bug, so firefox 4.0 can't run it correct. then i modify the source code as following: function get_file_meta(url, callback, strings) { XMLHTTP = new XMLHttpRequest(); XMLHTTP.open("HEAD", url, true); XMLHTTP.url = url; XMLHTTP.callback = callback; XMLHTTP.strings = strings; XMLHTTP.onreadystatechange = function() { if(XMLHTTP.url && 4 == XMLHTTP.readyState) { var size = XMLHTTP.getResponseHeader('Content-Length'); var stime = XMLHTTP.getResponseHeader('Last-Modified'); XMLHTTP.url = ''; var str_size = ''; var str_time = ''; if(size) { var strings = XMLHTTP.strings; str_size = strings.getString("Size") + ': ' + format_size(size, strings) + (size > 1024 ? ' (' + size + ' ' + strings.getString("bytes") + ')' : ''); var time_str = '-'; if(stime) { var t = new Date(stime); time_str = t.toLocaleString(); } str_time = strings.getString("Last modified") + ': ' + time_str; } XMLHTTP.callback(str_size, str_time);

Сви одговори (1)

more options

well, i got it, it's the extension: "better cache" modified the http head info.