Twitterの新Web UIが動作しない
現在、Firefox 3.6.10を使用している。
で‥
(最初はメインのアカウントの方ではなかったが、)Twitterの新Web UIが来たので、アクセスしてみると、ページは真っ白。正確に言うと、上部のメニュー等は表示はされているが、メニューをクリックしてもまったく動作せず、ツィートが表示されると思われる領域が真っ白。
同じPCのIE 8や、ほかのPCのFirefoxでアクセスすると問題なく表示される。
Twitterのサポートページを見ても、すでに解決済みという記載が‥
JavaScriptを疑ってみる編
とりあえず、JavaScript関連のエラーを疑って、エラーコンソールを見てみると、次のようなエラーが。
uncaught exception: [Exception... "Security error" code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)" location: "http://a1.twimg.com/a/1286563368/javascripts/phoenix.bundle.js Line: 69"]
twttr.setup is not a function
http://twitter.com/
行: 195
で、詳細は端折るが、どうやら、window.localStorageにアクセスしようとしているところでセキュリティエラーが発生しているというところまで突き止めた。
これは、検証用のプログラムでも確認した。
<html> <head> <script type="text/javascript"> alert('location: ' + window.location); alert('localStorage: ' + window.localStorage); </script> </head> <body> test </body> </html>
本来であれば、2つのアラートが出てほしいのだが、locationに対するアラートしか表示されず、エラーコンソールを見てみると、やはり同様のエラーが出ている。
設定を疑ってみる編
周りの人は正常に動作しているという状況や、(別のアプリではあるが)window.localStorage周りの問題が、クリーンインストールしたら解決したという書き込みも見つけたので、自分の環境の設定周りを疑ってみた。
アドレス欄に「about:config」と入力してEnter。
localStorageということで、フィルタにキーワード"local"を入れてみる。それらしきものはない。では、"storage"で‥
と、次の2つの設定項目が出てきた。
設定名 | 状態 | 型 | 値 |
dom.storage.default_quota | 初期設定値 | 整数値 | 5120 |
dom.storage.enabled | ユーザ設定 | 真偽値 | false |
‥ん?「ユーザ設定」!?いじった記憶はないのだが‥昔入れたアドオンのせいだろうか。とりあえず犯人探しは後にして、この設定を初期値に戻してみる。
「dom.storage.enabled」の行を右クリックして、「リセット」を選択。次のようになっていればOK。
設定名 | 状態 | 型 | 値 |
dom.storage.default_quota | 初期設定値 | 整数値 | 5120 |
dom.storage.enabled | 初期設定値 | 真偽値 | true |
これで再度Twitterの新Web UIにアクセスしてみると‥
無事にツィートが表示された。メニューもちゃんと動作する。めでたしめでたし。
ここまで来ると、あきらめずに調べてよかったと思える。エラーの発生元のスクリプト(phoenix.bundle.js)の69行目だけで77195バイトあると知ったときにはどうしようかと思ったが(謎)。
ファーストコンタクトから解決まで
ファーストコンタクトから解決までの道のりをまとめてみた(謎)。
今見ると、最初のツィートとかひどい言いがかりですね^^;;;
@hhelibex: ようやく新Web UIでツィートが表示されるようになったので、記念ツィート(何)。
2010-10-09 16:52:59 via web
@hhelibex: なんか、いろいろ調べていたら、別のサイトの例だけど、やはりwindow.localStorage周りの問題で動かないという人がいて、クリーンインストールし直したら問題が解決したという書き込みが‥それだけはやりたくないから苦労しているのに‥orz
@hhelibex: とりあえず、新つぃたぁがModernizr JavaScript library 1.5(何)を使っていて、その中でwindow.localStorageにアクセスしようとしてこけているらしいことまでは分かった。
@hhelibex: 何が原因なのか調べてみたいところだけど、原因とされる69行目(何)だけでもコードが77195バイトある‥整形するだけでも一苦労だ‥orz
@hhelibex: むぅ、そこ(何処)にあるFirefox 3.6.10 on Windows XPでは新Web UIが正常に動くのに、なぜここ(何処)にあるFirefox 3.6.10 on Windows Vistaでは動かないのだ‥何かの苦行ですかっ orz
2010-10-09 14:56:23 via web
@hhelibex: a1.twimg.com にあるJavaScriptでセキュリティ例外が発生してるんだよなぁ‥
2010-10-09 09:50:13 via web
@hhelibex: なんだ、つぃたぁの新Web UIって、Firefox 3.6.8(on Windows Vista)でぜんぜん動かんじゃないの。エラー"twttr.setup is not a function"が出てる。ま、メインのアカウントは旧UIのままなのでどうでも(斬)。