残作業を少しずつ潰す(今日の分)
ほぼ片付いてきました。残りは
・トップの土日限定コンテンツ
・競走馬検索、レース検索の全体
・Favoritoメールアドレス変更
くらいでしょうか。
備忘録として、ちょっと気になったこと。
Netscape 6.1を使用して動作確認をしていますが、
どうもAjax(XMLHttpRequest)は動かない。
それがね。
if ( window.ActiveXObject ) {
xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");
} else if ( window.XMLHttpRequest ) {
xmlhttp = new XMLHttpRequest();
}
とした上で
alert(xmlhttp);
とするとわかるんですが、
古いブラウザ(Netscape4.xとか、Opera7.xとか)だと、
alertで出てくるのはnull。
新しい(Ajaxに対応している)ブラウザ(Netscape8.xとかIE6とか)だと
[object]。
で、当然onreadystatechangeで定義した関数へ飛んで
処理をしてくれる。
ところが、Netscape6.1だと
[object]になるのに、onreadystatechangeへは行かない。
なぜ?
あちこち調べまわっていますが、よくわかってません。
なので、暫定的な対応として、useragentで判断。
「JavaScript++かも日記: 【Moz】MDSPの新サービス/DOM バージョン検索!」
ここにも書いてありますが、
ちなみに、onreadystatechange は、Mozilla0.9.4 2001/09/13 からの実装です。
ということですので、
function isGecko() {
ua = navigator.userAgent;
if(ua.indexOf("Gecko/") != -1 && (ua.split("Gecko/")[1]).split(" ")[0] < 20010913){
onreadystatechangeは使えないのでreturn false;
} else {
onreadystatechangeは使えるのでreturn true;
}
}
っちゅー関数用意しておいて、さっきのソースと組み合わせると
if (xmlhttp && isGecko) {
AjaxOK;
} else {
AjaxNGなので代替手段;
}
ってな感じでやるしかないみたいですね。
・トップの土日限定コンテンツ
・競走馬検索、レース検索の全体
・Favoritoメールアドレス変更
くらいでしょうか。
備忘録として、ちょっと気になったこと。
Netscape 6.1を使用して動作確認をしていますが、
どうもAjax(XMLHttpRequest)は動かない。
それがね。
if ( window.ActiveXObject ) {
xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");
} else if ( window.XMLHttpRequest ) {
xmlhttp = new XMLHttpRequest();
}
とした上で
alert(xmlhttp);
とするとわかるんですが、
古いブラウザ(Netscape4.xとか、Opera7.xとか)だと、
alertで出てくるのはnull。
新しい(Ajaxに対応している)ブラウザ(Netscape8.xとかIE6とか)だと
[object]。
で、当然onreadystatechangeで定義した関数へ飛んで
処理をしてくれる。
ところが、Netscape6.1だと
[object]になるのに、onreadystatechangeへは行かない。
なぜ?
あちこち調べまわっていますが、よくわかってません。
なので、暫定的な対応として、useragentで判断。
「JavaScript++かも日記: 【Moz】MDSPの新サービス/DOM バージョン検索!」
ここにも書いてありますが、
ちなみに、onreadystatechange は、Mozilla0.9.4 2001/09/13 からの実装です。
ということですので、
function isGecko() {
ua = navigator.userAgent;
if(ua.indexOf("Gecko/") != -1 && (ua.split("Gecko/")[1]).split(" ")[0] < 20010913){
onreadystatechangeは使えないのでreturn false;
} else {
onreadystatechangeは使えるのでreturn true;
}
}
っちゅー関数用意しておいて、さっきのソースと組み合わせると
if (xmlhttp && isGecko) {
AjaxOK;
} else {
AjaxNGなので代替手段;
}
ってな感じでやるしかないみたいですね。
このネタへのコメント:
コメントはありません。