1 PUREST◆gAxC

Operaでコメントの取得

OperaでinnerHTMLを取るとコメント部分が空になるようですね。
style要素が空になるんじゃなくてそういうことだったんですね。(これは余談です)

ところで、Operaでもカウンターの方はFlashで表示できているようですね。
ちなみにOperaはdocument.allに対応していますが、
if(document.all&&!window.opera){IE用}
else if(document.getElementById){NN&Opera用}
みたいなことでも駄目でしょうかね?(コメントが取れないんだから無理ですよね…。よく分かんないんですけど)

後はinnerHTMLを取る前にコメント部分を先に取得して、その部分を操作するとか…
掲示板の表題の位置にscript要素に続けてコメントを書いた場合、Operaでは下記のスクリプトで取得できました。

window.onload=function(){
a=document.getElementsByTagName('b')[1].childNodes[1].nodeValue;
alert(a);
}
(PC)
2 田中(HN)
a=document.getElementsByTagName('b')[1].childNodes[1].nodeValue;
b=document.getElementsByTagName('b')[1].firstChild.nodeValue;

aは無理でした・・・
bでは<scriptの前に書くと取得できました。

なぜなんでしょう・・・
(PC)
3 PUREST◆gAxC
そうですか・・・
変数名の問題ではないのですよね。
うちのローカル環境では上手く取れたのですけれど…(WinXP,Opera7.23)

でも、外部化しないでスクリプトを貼って試したので、まったく同じ状態ではないんでしょうね。
ちなみに

a=document.getElementsByTagName('b')[1].lastChild.nodeValue;

ではどうでしょうか?
また

a=document.getElementsByTagName('b')[1].childNodes[1].nodeName;

は何になりますか?
改行とかが入っただけでも別のノードが発生しますので。
(PC)
4 田中(HN)
a=document.getElementsByTagName('b')[1].childNodes[1].nodeName;
を試しましたところ、DIVってでたもんで、あちゃーって感じでした。
配布する時と全く同じ内容で試してたものですから、
swfP="";swfP+='<div id=swfid>';document.write(swfP);
で、DIVが入ってたんですね・・・
ご迷惑おかけしました。

a=document.getElementsByTagName('DIV')[1].firstChild.nodeValue;
で、問題なく取得できました。

ほんとごめんなさいです。

わかりやすい回答ありがとうございました。
(PC)