#myblog-page-urlのreplace前に
追記(2008/3/13):この追記は問題が解決したら削除します。
数日前から、Firefox2で閲覧すると「#myblog-nickname」が「正己」にreplaceされないことがある。
原因と関係あると思うのだが、このエントリーの「クリック」をクリックしたときの表示で、「#myblog-nickname」が「#myblog-nicknam<wbr>e」となっていることがある。それならばreplaceされなくても納得できる。しかし、この現象が常に生じているわけではなく、時々見られるだけである。頻度は分からない。原因も分からない。プログラムに問題があるのなら改善する必要があるだろう。もしもFirefox2のバグではなくSo-net のプログラムの問題だとしたら、このエントリーに書いたMacIE5.1.7で試したときの異常もSo-net のプログラムの問題かもしれない。私はMacIE5.1.7のパグだと思っていたのだが…。ちなみにWindowsのIE6で「クリック」を試した時は、タグが大文字になる。Firefox2は小文字。HTMLソースを書くときの推奨は小文字らしい。
さらに追記:
Firefox2に入れてある「MRTech Link Wrapper」が原因かもしれない。長いURLを改行してもらわないといけないので外せないが、もしかしたら症状が出ないようにできるかもしれない。
さらに追記:
実験してから書けよ!と自分に突っ込みつつ…。
「MRTech Link Wrapper」の「自動で折り返す桁数」が「15」になっていたので「13」にしたら、「#myblog-nickn<wbr>ame」となった。これで「MRTech Link Wrapper」が原因だと分かった。桁数を増やすことで私個人の閲覧は改善できそうである。他のソネプロ&Firefox2ユーザーで「MRTech Link Wrapper」を使っている人のことは…。「この機能を使用しないサイト」や「この機能を使用しないHTMLタグ」で設定する方法もあるかもしれないが、やはり私のFirefox2の設定なので、他のソネプロ&Firefox2ユーザーが閲覧した場合は…。
追記は以上。
今、myblog.jsの挙動を調べている。その際に気になったことがあった。「function myblogRewriteHeader(member)」の部分から抜き出して、次のJavaScriptを確認した時である。
<script type="text/javascript">
function gettest() {
var elLeft = document.getElementById('myblog-header-left-login');
var elRight = document.getElementById('myblog-header-right');
var elRightNoLogin = document.getElementById('myblog-header-right-no-login');
alert(elLeft.innerHTML);
}
</script>
<button onclick="gettest()">クリック</button>
上の「クリック」ボタンをクリックすると、私の使っているMacIE5.1.7では次のようなメッセージが表示された。
<UL class="sbMenuL">
<LI><A href=#myblog-page-url>#myblog-nickname</A> さん</LI>
<LI><A href="http://blog.so-net.ne.jp/MyPage/">管理ページ</A></LI>
<LI><A href="https://blog.so-net.ne.jp/MyPage/blog/article/regist/input">新規作成</A></LI>
<LI><A href=#myblog-page-url>自分のブログ</A></LI>
<LI><A href="http://blog.so-net.ne.jp/_pages/logout?t=t&use_http_referer=1&u=http%3A%2F%2Fself%2Eblog%2Eso%2Dnet%2Ene%2Ejp%2F">ログアウト</A></LI>
</UL>
正しくは次の通りだろう。
<ul class="sbMenuL">
<li><a href="#myblog-page-url">#myblog-nickname</a> さん</li>
<li><a href="http://blog.so-net.ne.jp/MyPage/">管理ページ</a></li>
<li><a href="https://blog.so-net.ne.jp/MyPage/blog/article/regist/input">新規作成</a></li>
<li><a href="#myblog-page-url">自分のブログ</a></li>
<li><a href="http://blog.so-net.ne.jp/_pages/logout?t=t&use_http_referer=1&u=http%3A%2F%2Fself%2Eblog%2Eso%2Dnet%2Ene%2Ejp%2F">ログアウト</a></li>
</ul>
重要な違いは「"#myblog-page-url"」の「""」が消えていることである。Netscape7.02では「""」は消えてなかった。MacIE5.1.7で私のブログを閲覧する際にmyblog.jsの動作が異常になる一因かもしれない。「""」が消えた状態で「#myblog-page-url」を「http://self.blog.so-net.ne.jp/」にreplaceすると問題が生じる。まずは、この原因を究明しなければいけない
このエントリーはコメント欄を開きます。原因をご存じの方がいらっしゃいましたら、教えてください。よろしくお願いします。m(_ _)m
関連サイト:
http://blog-wn.blog.so-net.ne.jp/2008-03-07
追記:
ヘッダの部分のソースは自動的に挿入されるので、ユーザーの力では変えられないかもしれないが、次のようにすると、「""」が消えないようである。
<ul class="sbMenuL">
<li><a href="#myblog-page-url/">#myblog-nickname</a> さん</li>
<li><a href="http://blog.so-net.ne.jp/MyPage/">管理ページ</a></li>
<li><a href="https://blog.so-net.ne.jp/MyPage/blog/article/regist/input">新規作成</a></li>
<li><a href="#myblog-page-url/">自分のブログ</a></li>
<li><a href="http://blog.so-net.ne.jp/_pages/logout?t=t&use_http_referer=1&u=http%3A%2F%2Fself%2Eblog%2Eso%2Dnet%2Ene%2Ejp%2F">ログアウト</a></li>
</ul>
ローカルで少し実験しただけなので実際のブログに導入したらどうか分からないし、ローカルでの実験にも不備があるかもしれないが…。この方法で解決するのなら、「#myblog-page-url」のreplaceを「http://self.blog.so-net.ne.jp/」ではなく「http://self.blog.so-net.ne.jp」にすれば良い。
また、次のようにしても「""」は消えないようである。
<ul class="sbMenuL">
<li><a href="http://#myblog-page-url">#myblog-nickname</a> さん</li>
<li><a href="http://blog.so-net.ne.jp/MyPage/">管理ページ</a></li>
<li><a href="https://blog.so-net.ne.jp/MyPage/blog/article/regist/input">新規作成</a></li>
<li><a href="http://#myblog-page-url">自分のブログ</a></li>
<li><a href="http://blog.so-net.ne.jp/_pages/logout?t=t&use_http_referer=1&u=http%3A%2F%2Fself%2Eblog%2Eso%2Dnet%2Ene%2Ejp%2F">ログアウト</a></li>
</ul>
この場合は、「#myblog-page-url」を「self.blog.so-net.ne.jp」か「self.blog.so-net.ne.jp/」にreplaceするように変えれば良い。
その二つを合わせて、次のようにしても「""」は消えないようである。
<ul class="sbMenuL">
<li><a href="http://#myblog-page-url/">#myblog-nickname</a> さん</li>
<li><a href="http://blog.so-net.ne.jp/MyPage/">管理ページ</a></li>
<li><a href="https://blog.so-net.ne.jp/MyPage/blog/article/regist/input">新規作成</a></li>
<li><a href="http://#myblog-page-url/">自分のブログ</a></li>
<li><a href="http://blog.so-net.ne.jp/_pages/logout?t=t&use_http_referer=1&u=http%3A%2F%2Fself%2Eblog%2Eso%2Dnet%2Ene%2Ejp%2F">ログアウト</a></li>
</ul>
この場合は、「#myblog-page-url」を「self.blog.so-net.ne.jp」にreplaceするように変えれば良い。
追記(2008/3/13):
innerHTMLで「""」が消える現象は、どうやらブラウザが原因のようである。似た現象について報告しているブログを見つけた。
【innerHTMLとか(IEとFireFoxの差異) - perl 覚え書き日記】
IEでの実験結果では「id="div2"」が「id=div2」になっているようである。これも閲覧する環境では問題があるかもしれないが、So-net blogのmyblog.jsではidを含む部分でinnerHTMLは使ってなさそうである。
同じような症状をまとめたサイトがあれば知りたい。あれば、innerHTMLの使い方の注意として役立ちそう。
追記(2008/3/14):
下書きで実験すると「myblogRewriteHeader({ nickname:'正己',page_url:'http://self.blog.so-net.ne.jp/'});」により「href="#myblog-page-url"」がinnerHTMLで「href=#myblog-page-url」であるにもかかわらず「href="http://self.blog.so-net.ne.jp/"」にreplaceされるのに、本番では「href」だけになってしまう。不思議だ。
(追記(2008/3/15):いつの間にか、本番でも「href="http://self.blog.so-net.ne.jp/"」にreplaceされるようになっていた。それならば、このエントリーで述べたMacIE5.1.7のバグは気にする必要がないかもしれない。ただ、コメント欄の「正己」へのリンクは復活してない。追記(2008/3/17):「href="http://self.blog.so-net.ne.jp/"」にreplaceするfunctionがサイドバーのカスタムペインにあれば問題ないが記事本文にある場合はダメらしい。追記:「URL自動リンク」を「リンクしない」にしたら、記事本文に書かれたfunctionもサイドバーのカスタムペインに書かれたfunctionと同じように動作することが確認できた。すなわち、function中の「myblogRewriteHeader({ nickname:'正己',page_url:'http://self.blog.so-net.ne.jp/'});」により「href="#myblog-page-url"」がinnerHTMLで「href=#myblog-page-url」であるにもかかわらず「href="http://self.blog.so-net.ne.jp/"」にreplaceされることを確認した。)
ご指摘ありがとうございました。
Mac&Safariの環境では特段問題が起こらなかったのでMacの力なのかと思っていたのですがMac&IEやMac&Ffでは影響が出ていたのですね。
今回のリニューアルでは規模に比較して情報提供が少な過ぎて混乱が続いています。
以前よりはマシと思っていましたが、信頼ガタ落ちです。
これからも何かありましたら情報提供をお願いします。
by 南雲しのぶ (2008-03-20 08:17)
南雲しのぶさん、どういたしまして。
スキンをカスタマイズしていた人にとっては被害が大きかったようです。HTMLソースやスタイルシートの変更個所など、技術的な変更情報が提供されれば、もっと早く修復できたのにな、と思いました。
私のメインのブラウザMacIE5.1.7はサポート対象外なので、So-netに頼らずに使えるようにしようとしています。
by 正己 (2008-03-20 09:16)
正己さん、こんばんは^^
そして、ブログでのご指摘、本当にありがとうございました!
ソネットからは、いまだに回答が来ず、私のブログを読んでいただいてる方には、読みづらい状況が続いており、困っておりましたが、ご指摘どおりにしてみたところ、それ以降のコメント欄では、「きちんと見えてます」というコメントが多くありましたので、改善したように思います。
ありがとうございました。
この問題以外での、ソネットへのお問い合わせでも、回答は、以前より情報が少なく、「担当部署に伝えておきます」的なものが多く、印象が悪くなったように思います。
やはり、新システムに移行(シーサー株式会社)した事などが、関係しているのだろうか・・・ということも、思っていたりします。。
by nyan (2008-03-23 23:19)
nyanさん、どういたしまして。
直ったようですね。良かったです。(^_^)
ソネットには「事務的な」回答をするのはやめてほしいですね。
問い合せをした人のサイトを見て真剣に回答していただきたいものです。
by 正己 (2008-03-24 07:26)