2

後でキャンバスに描画する Image オブジェクトを使用して定期的にリモート画像を読み込んでいます。Image オブジェクトは JS でのみ作成され、DOM には存在しません。

コードは Chrome と Firefox で正常に動作しています。Opera の問題は、画像ソースが変更されるたびにブラウザーが常に「読み込みモード」に切り替わるように見えることです。つまり、カーソルが「待機中」のカーソルに変わり、Opera はアドレスバーに「Elements: X/Y」を追加します。

テストコードは次のとおりです: http://jsfiddle.net/nZntU/3/

この Opera 動作の回避策を知っている人はいますか?

4

2 に答える 2

1

@graste が指摘したように、Opera 12.50 ではこのバグが修正されています。変更ログから:

CORE-43199 Opera は DOM にない画像の読み込み指示を表示すべきではない

于 2012-08-30T09:39:48.697 に答える
1

私は Opera を使用しており、あなたが説明していること (または達成しようとしていること) を知っています。プログレスバーの配置を「下部にポップアップ」に設定しました。あなたの例は、そのタブがアクティブになっているときにブラウザの下部に毎秒ポップアップを表示し、これを入力している間(例がバックグラウンドタブでアクティブになっている間)、カーソルが毎秒進行状況インジケータアイコンに切り替わります.

Opera のデフォルトの動作は、アドレス バー内に進捗情報を表示することです。プログレス バーを完全に無効にしても (「オフ」に設定)、ナビゲーション バーのリロード/停止ボタンの変更と、アドレス バー内の短いちらつき (ブックマークの星が消える) によって、リロードが行われていることに気付きます。異なるデザイン/レイアウト/構成には、おそらく他の目に見えるものがあります。

正直に言うと、ユーザーが意図的に見たいと思う可能性のあるものを防ごうとしているのです。このようなツールバーや待機カーソルが表示されることに少しイライラすることがよくありますが、OTOH は通常、ブラウザーがバックグラウンドで何かを実行していることに気付いて喜んでいます。Chrome などの他のブラウザーを使用していると、記事などを読んでいるときにブラウザーがバックグラウンドで大量の AJAX リフティングを行っていることに気付かないことがよくあり、混乱した状況や奇妙なクライアント側の状態につながることがあります。

これは完全にあなたの範囲外であるため、ブラウザーの動作を変更しようとすべきではないと思います。大幅にカスタマイズされたブラウザー、クロムレス ウィンドウ マネージャーなどを使用している人がいます。また、ユーザーのブラウザーが好みに合わせて構成されていない場合、ユーザーのブラウザーで他の機能を有効にしたり変更したりしようとはしていません (サード パーティの Cookie、JavaScript、プラグインなどを考えてください)。 .)。ユーザーは自分のユーザー エージェントを好きなように使用および構成します (つまり、CSS を無効にしたり、重いユーザー スタイルシートや JavaScript を使用したり、iframe を無効にしたり、ウィンドウの移動を無効にしたりできます。pp.)。

補足として、Opera の今後のバージョン (XHR に関して) でのこのデフォルトの動作の変更について何かを読んだことを覚えていますが、開発スナップショットでこれを入力していて、まだデフォルトの進行状況が残っているため、これについてはもうわかりません。バーの振る舞い。それが人生だと思います。:-)

于 2012-07-24T22:06:23.777 に答える