問題タブ [opera-presto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - キャンバステキストAPIサポートの検出(Opera Mini)
Opera Miniはキャンバステキストを表示しませんが、一般的なテストでは、テキストAPI関数が実装されていることが示されています。サポートを確認するための代替手法はありますか?
現在の方法:
テキストが表示されているかどうかを確認するために使用できる例:tutorialspoint
javascript - パフォーマンスが制限された環境でのテキスト/画像アセットのキャッシュ
私は非常にパフォーマンスに制約のあるデバイスに取り組んでいます。AJAX リクエストのオーバーヘッドのため、テキストと画像のアセットをブラウザに積極的にキャッシュするつもりですが、デバイスごとのキャッシュ サイズをテキストと画像のサイズと同じくらい小さく設定する必要があり1MB
ます9MB
。画面、グラフィカル アプリケーション。
デバイスは簡単にメモリ制限に達するため、アプリケーションのサイズを管理する方法について非常に注意する必要があります: コード ファイルのサイズ、同時 HTTP リクエストの数、イベント ディスパッチ時の JS プロセッサ サイクルの数、CSS リフローの制限など。テキスト アセットと画像用にサイズが制限されたキャッシュを開発する方法です。
テキストについては、 for オブジェクトを使用して独自のキャッシュをロールし、サイズを概算しました。アプリケーションは手動でキャッシュ エントリを取得/設定します。構成可能な上限に達すると、クラスのガベージ コレクションは からまでのサイズで行われ、最後にアクセスされたプロパティに重みが付けられます (つまり、何かが最近アクセスされた場合、そのオブジェクトの最初の収集はスキップされます)。JSON.encode().length
'string'.length
gcLimit
gcTarget
Image()
画像については、インターフェイス要素をプリロードし、DOM 要素を削除してオブジェクトを永続的に保存しないことで、ブラウザーがガベージ コレクション自体を処理できるようにするつもりです。プリロードについては、おそらくもう一度自分でロールバックします-FiNGAHOLiC の ImgPreloader とthisのように模倣する例があります。「ダウンロード ウィンドウ サイズ」や「最大キャッシュ リクエスト数」などの機能を念頭に置いて、デバイスが過負荷にならないようにする必要があります。
これは、このような制約のある環境で作業する大きな課題であり、Backbone などの一般的なフレームワークは「最大コレクション サイズ」をサポートしていません。SO の他の場所では、ユーザー5MB
は HTML5 localStorag
e の制限を引用していますが、私の目標はセッションの永続性ではないため、その利点はわかりません。
もっと良い解決策があるかもしれないと感じずにはいられません。アイデア?
編集:@ Xotic750:IndexedDBにうなずいてくれてありがとう。残念ながら、このアプリは Opera/Presto 上に構築された標準の Web ページです。さらに良いことに、このプラットフォームは持続性を提供しません。ロックとハードプレイス :-/。
websocket - ソニー ブラビア ウェブソケットのサポート?
私たちの webapp は websocket を使用します。ページが読み込まれると、以下を使用して websocket のサポートを確認します。
Opera TV 3.4 エミュレーターで webapp を実行すると、websocket が利用可能であることが検出されます。Sony Bravia KDL-50W829B で webapp を実行すると、websocket テストが失敗します。
UserAgent を比較すると、Bravia KDL-50W829B のバージョンがエミュレータのバージョンを上回っているため、Websocket が利用可能になると予想されます。
- 3.4 エミュレーター: Opera/9.80 (Linux i686; Opera TV Store/5449) Presto/2.12.362 バージョン/12.10
- Bravia KDL-50W829B: Opera/9.80 (Linux armv7l; InettvBrowser/2.2 (00014A;SonyDTV140;0001;0001) KDL50W829B; CC/GBR) Presto/2.12.407 バージョン/12.50
これらのリンクによると、websocket が利用可能で有効になっている必要があります。
- http://www.opera.com/docs/specs/presto2.12/apis/#websocket
- https://dev.opera.com/blog/a-hot-opera-12-50-summer-time-snapshot/
Websockets が Bravia ブラウザーで動作しないことが言及されている他の投稿も見つけました (スマートテレビ経由で lavag.org 表示パネルを検索してください)。
何か案は ?
ありがとう。
javascript - jQuery Colorbox が画像のグループ化にランダムに失敗する
jQuery Colorbox
次のように、アプリケーションでを使用します。
上のjavascriptの中.ready()
で、私はこれを持っています:
すべて正常に動作しますが、最近、ライトボックスが時々グループ化に失敗することに気付きました。したがって、最初a
にクリックされたものだけがロードされ、current
上記のパラメーターは完全に欠落しています。
この動作は完全にランダムに見えますが、頻繁に発生します。コンソールにエラー メッセージはありません。
私のカラーボックスのバージョンは 1.6.1 で、jQuery のバージョンは jquery-2.1.3 です。
助けてください、誰か!
編集
エラーは Opera で発生します。Chrome では、このエラーを生成できないことを発見しました。特定の理由により、現時点では Opera 12.17 (webkit より前の最新の「古い」Opera) 向けに開発する必要があります。
jquery-ui - ブラウザーの互換性 JQuery UI 選択メニュー
を使用してjQuery UI - v1.11.4 - 2015-03-11
います。
また、Chrome( 42.0.2311.135 (64-bit)
) と Mozilla( 37.0.2
) では動作しますが、jQuery selectmenu
という古いエンジンを使用しているため、Opera 12.16では動作しませんPresto
。
Opera との互換性とそれを機能させる方法に関する情報はありますか?