直接CoffeeScriptと関係ないのも含む。
Array.prototype.indexOfをサポートしていない
Array.prototype.indexOf
の追加
Array::indexOf or= (item) ->
for x, i in this
return i if x is item
return -1
mouseoutのイベントが発火しない
hoverは動くが、mouseoutが効かない。
$(document)
.on 'hover', '.foobar', -> doSomething()
.on 'mouseout', '.foobar', -> doSomething2()
どうしたら対応できるか調べた限り分からなかったので、あまり重要じゃないUIインタラクションだったので、IE8のときは hover の処理をしないようにした。
$(document)
.on 'hover', '.foobar', ->
return if $.browser.msie and $.browser.version is '8.0'
doSomething()
.on 'mouseout', '.foobar', -> doSomething2()
jQuery.onで対応する方法があれば教えて欲しい。
titleタグのテキストが変更できない
$('title').text('new title')
jQueryのtext
関数を使った上記のコードでは動かない。なので、下記のバニラなJavaScriptで書く。
document.title = 'new title'
開発者ツールを開くまで console.log は使えない
という事実を心得ておく。
「なぜかJSが開発ツールを開かないと途中までしか動かない」という現象が発生した。どうやらIE8は「開発ツール」を開くまで console.log が使えないようで、そのためコードに console.log が入っていると、その行で処理が止まってしまう様子。
ちなみに、開発ツールを一度でも開いてしまえば、閉じたとしても console.log で引っかかることがないみたいだ。つまり、開発ツールを閉じても console.log は削除されない様子。