ウェブブラウザ開発ブログ
 
ウェブブラウザ開発ブログ

IE11 DOMStorageが有効だとWebBrowser Controlが固まる(解決)

だいぶ前のversion 1.9.56(最新versionは1.9.62)で、IE11 DOMStorageが有効だとWebBrowser Controlが固まる - 不定期日記 は、原因を特定し対処を行い、固まり問題は出なくなっています。Anciaは、IE11をコンポで使用した際の固まり問題に対応している数少ないブラウザとなります。 こちらで特定した原因は、IE内部で保持するsession storage値がタブを開くたびに倍で増えていき、そのsession storage値分ループ処理が動き、これが固まりにつながります。 ie11 session(google document) storage 上は、再現動画(http://www.youtube.com/watch?v=0xACMTPPoM8)での増えていく値です。 1タブ目では1つの値が、2タブ目には2個、3タブ目には4個、4タブ目には8個、動画で固まった18タブ目には65536個となり、65536個分のループで長時間固まります。タブを開くごとに遅くなるという現象も、session storage値が倍で増え、その分ループ時間が増えるため、と説明できます。 恐らく、IEはマルチプロセスの関係で、新規タブプロセスにsession storageを引き継ぐ必要があり、開き元タブのsession storageを新規タブ側に渡しているのではと考えています。渡す先にsession storageが無ければ問題ないですが、もし、マルチスレッドやシングルスレッドで、すでにsession storageが存在する場合、開き元から引き継がれると、倍に増えることに、と内部動作を予想しています。 session storageの調べ方は、残念ながら非公開です。
この投稿を読む

IE11 DOMStorageが有効だとWebBrowser Controlが固まる

Internet Explorer 11でのJavascript問題 - 不定期日記のIE11環境で固まる現象で、DOMStorageを無効にすれば発生しないことがわかっています。 IE11での対応が無いとどうしようもなさそうで、フィードバックを送っています。英語がちょっとおかしいかもしれませんが、日本語も書いてあるのでたぶん大丈夫です。 [IE11,WebBrowser Control] if DOMStorage enable, WebBrowser Control freeze わかってもらえるように再現動画まで撮りました。ただ残念ながら、最近のフィードバックにコメントがつくことがほとんど無く、見てもらえずに直らない可能性が出てきました。IE10のころまでは、大体のフィードバックにMicrosoftからのコメントがついていました(再現しませんでしたといわれますが)。もしかするとフィードバックのバグを再現できるユーザ数が増えると見てくれるかもしれません(下の画像部分)。 再現動画(http://www.youtube.com/watch?v=0xACMTPPoM8)のままで行えば、誰でも再現できると思います。ブラウザ以外でもWebBrowser Controlを複数作成して使用するアプリは結構ありそうで、固まり現象が出ていないのか不思議です。
この投稿を読む

Internet Explorer 11でのJavascript問題

Windows7用Internet Explorer11がdownload可能となりました。 ダウンロード - Internet Explorer Anciaでは今のところ相性が悪いです。以前報告があるとおり、シングルスレッド・マルチスレッド・マルチプロセスいずれでもタブを10程度開くとJavascriptの動作が次第に遅くなり、そのうち固まります。どうも1ブラウザプロセスでIEコンポを多数作成するとだめなようです。 現時点での解決手段として、オプションからタブの動作をマルチプロセスにし、タブグループのチェックを外します。これでリソースを消費しますが、タブ毎に別プロセスで動作し、Javascriptの問題はとりあえず出なくなります。 タブグループのチェックを外すと、セッションがタブ毎に別々のセッションとなることに注意してください。
この投稿を読む

新しいメニュー動作

更新履歴 download 1.3.19でブラウザのメニュー動作を新しくしています。たとえばリンクのメニューだと、「開く」はOfficeのように「開く」が選択できるサブメニューになっています。サブメニューから違うブラウザで開くことができます。「新しいタブで開く」のサブメニューだと、アクティブか非アクティブかタブグループで開くか選択できます。 テキストの選択だとハイライトやインライン検索、さらにGoogle検索や検索エンジン一覧からの選択が可能です。 imageのメニューだとGoogle画像検索も行えます。 新しいメニューの動作は規定ではoffで、オプション設定の「試験機能を使用する - testFeature」をonにしアプリの再起動が必要です。 メニューの内容は、resource/menu_trident.jsonをsetting/customizeにコピーし、setting/customize/menu_trident.jsonを編集することで変更できます。残念ながら変更UIはまだ用意されていません。
この投稿を読む

SleipnirのIE10表示問題

SleipnirのIE10環境での動作で、documentModeである挙動が見つかりました。 ・SleipnirはページのX-UA-Compatibleを無視し、強制的にIE10モードで表示する 検証ページ:Conditional Comments (X-UA-CompatibleにIE=9を指定) 環境は、Win7 64bit IE10、Sleipnirの最新versionです。下がSleipnirの表示です。IE10モードで表示しているため、About conditional comments (Internet Explorer)が動作していません。これはdocumentModeが10での挙動です。ほかにもIE10で変わった挙動は、HTML5 Parsing in IE10 - IEBlog - Site Home - MSDN Blogsに詳しく書いてあります。 Anciaでは、IEと同じ挙動になります。 Sleipnirでページソースを見ると、ヘッダのX-UA-Compatible部分を消している動作のようです。
この投稿を読む

互換表示対応

更新履歴 download 1.9.34でIE独自でのみ可能と思われた互換表示設定に対応できました。互換表示設定は、IE7,8,9,10,11から選択できます。互換表示設定はdomain単位で保存します。 ボタンに出る数字はページのdocumentModeです。メニューのチェックは現在の互換表示設定になります。下はgoogleでIE7表示を選んだ場合です。 ページの動作がおかしい場合は、IE7互換表示で改善する場合があります。改善する例としてNHKラジオニュースがあります。IE10だと再生が多重に動きますが、IE7表示で正常に再生できるようになります。 互換表示を設定しても、ページにX-UA-Compatibleがある場合は、そちらが優先されます(IEと同じ動作)。MSDNだと互換表示を設定してもresponseヘッダにX-UA-Compatible: IE=edgeがあるため、常に最新のレンダリングとなります。この場合だとrequestは互換表示設定のユーザエージェント(下だとIE7)で行われます。 リクエストを見るにはFiddler - The Free Web Debugging Proxy by Telerikが使いやすいです。 戻る進むボタンがフラットなのは次回更新予定の内容です。
この投稿を読む

msn関係・楽天で固まる問題の対応

更新履歴 download 1.9.32で、ie10環境においてmsn、楽天のページを開くと固まる問題を修正しています。修正には2つの問題に対応しています。固まる原因はmsnと楽天で同じ(document.closeで固まる)ですが、状況は微妙に違います。 問題1) IEとIEコンポでnavigator.appVersionの返す値が違う IEとIEコンポでnavigator.appVersionの返す値が異なっています。この違いのため、msnのスクリプトでIEの場合はdocument.close()呼び出しが行われず、IEコンポの場合はdocument.close()呼び出しが行われます(ここでIEコンポは固まる)。1.9.32ではnavigator.appVersionの値がIEと同じ挙動となるよう対応しています。 ・IE10(documentModeは7でappVerはIE7) ・Ancia 1.9.31(documentModeは7でappVerはIE10) ・Ancia 1.9.32(documentModeは7でappVerはIE7) 問題2)楽天のページがIEコンポではquirks modeとなるが、IEではならない 楽天のページでdocument.close()の呼び出しで固まるのは同じですが、msnとは状況が異なります。楽天ではdocumentModeの値がIEとIEコンポで異なっています。msnはdocumentModeがIE,IEコンポともに7ですが、楽天ではIEが10(documentModeが10でもcompatMode はBackCompat)、IEコンポでは5(compatMode はBackCompat)です。 IE10からのInteroperable HTML5 Quirks Modeが関係し、1.9.32ではこれもIEと同じ挙動となるよう対応しています。 ・IE10 ・Ancia 1.9.31 ・Ancia 1.9.32
この投稿を読む

タブの分離・結合サポート

更新履歴 download 1.9.30でほかのブラウザでは実装の少ないタブの分離と結合をサポートしています。シングルスレッドでは、動き的に無理で動作スタイルをシングルスレッド以外にする必要があります。また単一起動の場合もサポートしていません(これは今後制限付きでサポート予定です)。 オレンジ色以外の場所にタブをdragすると、タブの分離・結合が可能になります。 ESCキーかマウスの右ボタンを押すことでキャンセル可能なのは、通常のdragdrop動作と同じです。次はIE10で固まる問題が対応できるかわかりませんが、調べる予定です。
この投稿を読む
ページ上部に戻る