2

編集:本文の昔ながらのonload属性を使用する代わりに、$(document).ready()を使用するための以下の問題へのリンクを特定しました

問題

IE7では、reloadを押すまで、canvas / excanvasはレンダリングされません。キャッシュを複数回クリアしましたが、結果は一貫しています。

最初のページの読み込み時にキャンバスは常に空であり、「オブジェクトはこのプロパティまたはメソッドをサポートしていません」というエラーが表示されます。これは、.getcontext()呼び出しを参照するメッセージです。ただし、リロードを押すと、魔法のように機能します。常にリロード後..それは動作します。ページに到達する他の手段では決して機能しません。最初のページの読み込みには常にエラーがあります。

「最初のページの読み込み」とは、クリックされたリンク、アドレスバーへの手動入力、または戻る/進むボタンを介してページが読み込まれることを意味します。

これが複製です:http: //www.trevorsimonton.com/canvas_problem/example7.html

この問題が発生したDrupal環境を再現するために、そこには余分なJavascriptがたくさんあることに注意してください。


コード

excanvasr3- http: //code.google.com/p/explorercanvas/downloads/detail?name=excanvas_r3.zipとDrupal6を使用しています

編集:私は、キャンバスをまったく異なる方法で処理しているサイトに2つの場所があるため、持っていたコードの束を削除しました。上記の宛先(http://www.trevorsimonton.com/canvas_problem/example7.html)で問題を再現できました。


質問の根源

この種の問題を引き起こす可能性のあるexcanvasまたはIE7の動作についてもっと知っている人はいますか?ブラウザのキャッシュ以外に、「reload」コマンドと他のコマンドとでページの読み込みが異なる原因は何でしょうか。

4

1 に答える 1

1

これはDrupal6なので、Jquery1.3.2を使用しています。

どうやら$(document).ready()excanvasが本当に準備ができる前に発砲します。ほとんどのブラウザではそうではありませんが、もちろんIEは異なります。

IE7getContext()では、bodyタグのonready属性に渡された関数から発信するために、すべての呼び出しが必要です。

drupalでこれを行うのは少し注意が必要ですが、ページテンプレートにハードコーディングしただけです。完全なハウツーが必要な場合は、これを参照してください:excanvasとJQuery1.3.2ドキュメントの準備ができていません

于 2011-07-06T05:34:09.193 に答える