IE

Windows XP IE 7 で標準的な XGA スクリーン画面いっぱいに表示可能なサイズ

Windows XP の Internet Explorer 7 で window.open したときに XGA 画面にどれだけ表示できるか測った。 ウィンドウスタイルが XP スタイルで、タスクバーは上下のどちらかのときである。 ウィンドウフレームのサイズ タスクバーの高さ 30px タイトルバーの…

style が white-space:pre なブロック要素内で折り返すように JavaScript でハックするには

かなり限定的な話です。 スタイルシートの white-space 属性が pre 指定だと任意に改行が行われなくなるので、長い行が存在するとスクロールが入って見づらくなるのは、よく知られていると思います。 そんなときに JavaScript を適用して直して表示させる方…

.NET で MSHTML をロードすると、IEコンポーネントで動作しない機能がある

.NET 2.0 で tlbimp した MSHTML.dll をロードすると、IEコンポーネントの印刷(プレビュー)機能や、IShellUIHelper.ShowBrowserUI の「お気に入りの整理」などが使用できなくなる。 解決 単に COM 参照で、 Microsoft HTML Object Library を追加したら動…

ShellUIHelper

IE7 では、ShellUIHelper に検索プロバイダの登録機能などを定義している IShellUIHelper2 が追加実装されているので SHDocVw が次のようになる。Guid は A7FE6EDA-1932-4281-B881-87B31B8BC52C である。 using System.Runtime.InteropServices; namespace S…

IDocHostUIHandler

.NET 2.0 になり、アンマネージドとの相互変換時の変数型の定義を明確にしないと、InvalidVariant MDA メッセージが投げられるようになった。動作確認した定義は以下の通り。 using System; using System.Runtime.InteropServices; using MSHTML; namespace …

Internet Explorer のバージョンを取得する

他にも方法はあるだろうがレジストリから取得するのが一番良さそう。 文字列でIEのバージョンを返す。エントリがなく取得に失敗したら null を返す。 public static string getInternetExplorerVersion() { string rKeyName = @"SOFTWARE\Microsoft\Internet…

IEコンポーネント使用時の問題

Windows XP SP2 - .NET 2.0 で SHDocVW の IWebBrowser などを取得したときの問題。それ以降にIEコンポーネントでファイルが開けずに、すべてダウンロードダイアログがポップアップしてしまう。IE6 SP1, IE7では起きない。

ショートカット後の onkeyup イベント

例えば、CTRL + F で検索ウィンドウを開いたとき、body の onkeydown, onkeyup イベントは onkeydown のみで終わってしまう。このため、「onkeydown で CTRL が押されたか判別しフラグを立てて、onkeyup で戻す。」ということをするとおかしくなる。ウィンド…