firefox userChrome.js greasemonkeyスクリプトスレ 3 at SOFTWARE
[2ch|▼Menu]
188:名無しさん@お腹いっぱい。
07/11/19 00:49:05 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 が 環境依存になるので, ここを上手い具合に逃げられないか検討を要すると思う。


次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5124日前に更新/327 KB
担当:undef