2012年6月16日土曜日

IPv6とInternetExplorer

World IPv6 Launchを過ぎてもみなさんのがんばりで問題なく接続できている今日この頃、いかがお過ごしでしょうか?
ちょっと気になることがあって、ISPさんではなくブラウザ絡みの視点からちょっと調べてみました。

ブラウザでHappy Eyeballsが実装されている(ChromeとFireFoxは実装済み ※追記)とIPv6で接続を失敗して次はIPv4でというフォールバックをせず、IPv6+IPv4を一気に送って早く帰ってきた方を採用!となる事で回避(ただのトラフィック増やしてる方法とも言えなくはないが・・)したりと意外とブラウザレベルでもがんばってるようです。
※今まで知らなかった・・・(汗)

でも、よくよく見てるとやっぱりここでInternetExplorerさんの文字が・・

  • Microsoft Internet Explorer (IE7, IE8)ではフォールバックの回数の上限が5回となっているため、これを超える数の IPv6 アドレスが名前解決の際に得られた場合、IPv4へフォールバックせずに通信が終了してしまう。回数はレジストリで制御可能となっており、デフォルト値が 5 回となっている


な、なんですと・・・。
これの影響でHTMLは読み込むけど、画像読もうとした時には上限数超えてて読み込まないとかあるようです。
とりあえず、IPv4時代が青春だったIEさんには相当IPv6は重荷のようです。そりゃそうですが。

とかにもまとまってますね。

たぶん今の時点で特に話題にも出てこないので大丈夫だとは思いますが、XPでIE8等を利用してるクライアントから突然 「画像がちょっとしか出なくなった!」 とかあった時に、クライアントさんの社内ネットワークがIPv4からIPv6対応に変わってたりした場合には、この手のIPv6がらみも疑ってみるというのが必要かもしれません。
※上記は間違った話かも。僕そんな知識ないんす・・・。
とりあえずChromeで見てみてください。と。。。。。

ま、たぶんもう大丈夫でしょうけどね。

2012年6月4日月曜日

CoffeeScriptでダブルコーテーションが入れ子になった文字連結

CoffeeScriptで文字列連結を行なって文字列を作るときに"の入れ子をしたときにエスケープしないというのに気づいたのでメモ

通常文字列連携するときには

-CoffeeScript-
abc='title'
console.log "こんにちは#{abc}"
をいう形で作ります。
※色は強調用に意図的に塗ってます。
これを用いてjQueryなどでエレメント名を変数化してる時など妙な入れ子になります。
"で括られてるため、気分的に\"とエスケープして書くとコンパイルするとエラーします。
どうやら文法的には入れ子になろうとエスケープしないで書くのが正解です。


-HTML部-
<h1 class="title">たいとるです</h1>
-CoffeeScript-
abc='title'
# console.log "こんにちは#{$(\".#{abc}\").html()}"
console.log "こんにちは#{$(".#{abc}").html()}"
個人的には違和感ありまくるのですが、こういうものらしいです。