- 188 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/11/19(月) 00:49:05 ID:glVowEf70]
- >>179
これで動作すると思います function GM_xmlhttpRequest(obj){ if(typeof(obj) != 'object' || (typeof(obj.url) != 'string' && !(obj.url instanceof String))) return; var req = new XMLHttpRequest(); req.open(obj.method || 'GET',encodeURI(obj.url),true); if(typeof(obj.headers) == 'object') for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]); if(typeof obj.headers == 'object'){ for(var i in obj.headers) req.setRequestHeader(i,obj.headers[i]); } ['onload','onerror','onreadystatechange'].forEach(function(k){ if(obj[k] && (typeof(obj[k]) == 'function' || obj[k] instanceof Function)) req[k] = function(){ var responseState = { responseText:req.responseText, readyState:req.readyState, responseHeaders:(req.readyState == 4 ? req.getAllResponseHeaders() :''), status:(req.readyState == 4 ? req.status : 0), statusText:(req.readyState == 4 ? req.statusText : '') }; setTimeout(function(){obj[k](responseState);}, 0); }; }); if(obj.overrideMimeType) req.overrideMimeType(obj.overrideMimeType); setTimeout(function(){ if(typeof obj.data == 'string') req.send(obj.data); else req.send(null); }, 500); } >>187 一番最後の setTimeoutの500 が 環境依存になるので, ここを上手い具合に逃げられないか検討を要すると思う。
|

|