![I-Firefox logo](https://assets-prod.sumo.prod.webservices.mozgcp.net/media/uploads/products/2020-04-14-08-36-13-8dda6f.png)
firefox 6.0, extension getfilesize, last modified time always return "2011.05.16 xxx", it seemed there is bug in XMLHTTP.getResponseHeader('Last-Modified') ?
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);
All Replies (1)
well, i got it, it's the extension: "better cache" modified the http head info.