IE
IE9 Betaが出たので、例のごとく調べてみる。 今回は、XP用のバイナリは用意されてない。しかも、インストーラがMSI形式でなくてEXE形式なので、XP上ではファイルの展開すらできない…。 仕方なく、Vistaマシンにインストールしてみた。 …うん。確かに描画速…
ヤフオク巡回VBAはCOM経由でIEを制御しているのだが、最近は数時間〜半日程度でIEが落ちてしまい巡回プログラムが中断してしまい涙目。ということが何回もあり困っている。 タスクマネージャを見るとIEの仮想メモリが2GB近くまで膨れ上がっているので一応落…
Internet Explorer 8のベータがリリースされたのでとりあえず覗いてみた。 といっても、未だにIE7さえ入れてない環境なのでIE8もちゃんと入れる気は端からない。 DLLだけ抜き出して印刷機能の変更点を探ってみる。 IE7と同じく、印刷プレビューに関するスク…
夏コミの前後あたりからどうもIEの調子が悪い。 日本語のページが文字化けする。 どうもシフトJISのページがUTF-8と認識されてしまうようで、化け化けになる。 まあ手動でエンコードを「日本語(自動選択)」「日本語(シフトJIS)」に切替えれば何とかなら…
IE7で新たに追加された機能として、「フィッシング詐欺支援機能」がある。 スクリプトにも新たに windows.external.PhishingEnabled メソッドが追加された。 このメソッドは引数を取らず、以下の値を返す。 trueフィッシング詐欺は有効 falseフィッシング詐…
お客さんのシステムでFTP通信で切断の際にいつもエラーが出ると言う。 どうも調べてみると、WinINet APIでFTP通信をしているようなのだが、これが曲者。 WinINet APIでのFTP通信というと、例えば公式で解説されているように、 (1)InternetOpenでインターネッ…
MSXML4はセキュリティ上の問題で2007年一杯で抹殺されることになった。 (詳しく:IEBlog : MSXML4 to be Disabled in Late 2007) XMLHTTPオブジェクトを取得する際に xmlhttp = CreateObject("MSXML2.XMLHTTP.4.0"); などとバージョン指定でMSXML4を呼び出…
ExcelからXMLHTTPを呼び出したときに特定のURLでエラーが発生することがあると先日書いた。 Excelから使っていることが原因なのかどうかを切り分けるため、IE(HTML)から呼び出したときにどうなのか、確認してみた。 結果としては、Excelの時と同じく、ブラ…
正月からヤフオクの検索データ取得マクロを作っているが、だいたいうまくいっていたのだが何かが足りない気がしていた。 よく調べてみると、アダルトカテゴリの出品がないように見えた。 ちょっとググって見たら、ヤフオクの通常の検索だとアダルトカテゴリ…
昨日の続きで、ExcelからXMLHTTPを使ってヤフオクの検索データを取得するマクロを作っているのだが、どうも1%程度の割合で、xmlhttp.send() が失敗することがあるらしい。昨日数えた時には1337個のオークションURLのうち、20個でエラーになってしまった。 ど…
XMLHTTPを使うと、Excel VBAからでも任意のURLからデータを取得できる。 (とりあえずIEコンポーネントの一部なのでIEカテゴリにしてみる) 問題になるのは、XMLHTTPでHTMLをダウンロードした時に、文字コードがそのままでは正しくExcel VBAでは扱えない点。…
BHO(Browser Helper Object)を使ってDOM拡張を試しているが、どうもうまくいかないようだということに最近気付いてきている。 自作のBHOをインストールすると、動作はするものの、Googleなど先に入っているBHO拡張が無効化されてしまう。アンインストールす…
ソースネクスト、IE用印刷ソフト「ぴったり ホームページ印刷」 ぴったり ホームページ印刷は、印刷時に右端が切れてしまうようなWebページを自動修正し、はみ出すことなく印刷するWebページ専用印刷ソフト。IEのツールバーとして動作し、Webページの印刷が…
Internet Explorer 7で導入された新しい印刷機能のうち、以前のバージョンと比べてもっとも改善されたのが縮小機能関連だろう。 特に「縮小して全体を印刷する」と「オーファン制御」は目に見えて便利になったと感じる点だと思われる。(むしろやっとあるべ…
Internet Explorer 7日本語版正式公開から約1週間、ようやくダウンロードしてみた。 さっそく印刷関連のファイルを抜き出して比較してみたが、印刷関連については、RC1からの変更はほとんど無い模様。 「ほとんど」と言ったのは、1つだけ違いがあって、そ…
Internet Explorer 7では、印刷機能がだいぶ改善されている。(参考:Internet Explorer 7 の印刷機能)といってもこれらの機能の大半はIEのネイティブコンポーネント(DLL,EXE)に対する改善の結果得られたものではなく、IE5.5から既に実装されている印刷テ…
Internet Explorerの印刷テンプレートはJavaScriptで書かれている。(正確にはJScriptか。VBScriptでもいいのかもしれない。) JavaScriptでもたいていのことはできるが、ネイティブのDLLにアクセスすることも可能である。といっても直接DLLを呼び出せるわけ…
自分メモ。 ブラウザヘルパーオブジェクトを無効にする方法。 サードパーティ製のツール バンドおよびブラウザ ヘルパ オブジェクトを無効にする方法 インターネットオプションで無効にできるみたい。 無効にして使っている人もいるかもしれないということか…
人力検索で調べたついでに。 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main] "Anchor Underline"="no" ; リンクの下線-"no":表示しない/"yes":表示する/"hover":ホバー "Disable Auto SIP"=dword:0 ; 自動SIPを無効にする "Display Inline …
Windows CEは、OSのソースコードが付いてくるのがいいところ。 と以前の日記で書いたが、もちろんすべてのソースコードがあるわけではない。ソースがないものも当然ある。例えば、Internet ExplorerはUI部分(つまり、WebBrowserコントロールのホスト部分)…
ふと、BHOを使えばIE版のGreasemonkeyもどきができるんじゃないか? と考えたら、案の定もう既にやってる人がいるようだ。 Trixie Turnabout greasemonkIE Greasemonkey for IE greasemonkIEは間違いなくBHOを使ってるみたい。 他の2つもたぶんBHOでやって…
今日たまたま気付いたが、BHOサンプル内でftpを使った場合にランタイムエラーが発生する。 DOMのDocumentを取得しようとしているのに、httpでないためDocumentが存在しないのでこういう結果になっていると思われるが今日は時間がないのでデバッグは後日やる…
とりあえずなんとか形にはなった。 結果的には、右クリックから呼び出されたスクリプトは本文とは別のDOM空間があてがわれていて、直接は本文のDOMに組み込まれていない。そのため、window.external.sayhello()ではなく、window.external.menuArguments.exte…
人力検索の回答で知ったのだが、ScriptX というものがあるようだ。 これはどうもドキュメントを読むと印刷テンプレートに対応しているらしい。 ScriptX をインストールして、HTML内で印刷するスクリプトを書けば印刷テンプレートを使った印刷ができるように…
BHO(Browser Helper Object)とDOM拡張はなんとか動くようになった(ように見える)。 実際にはCOMとかOLEとかATLとかその辺を全く理解していないのでちゃんとあるべき姿で動いているかどうかがわからない・・・ BHOがロードされる IWebBrowser2を取得する DW…
IDocHostUIHandler::GetExternal() で 拡張した自分の IDispatchインターフェースを WebBrowserコントロール側に渡してやると、window.external を介してカスタムプロパティ、カスタムメソッドを追加できるようだ。 BHOがロードされた時にこの仕組みを実装し…
引き続きBHO(Browser Helper Object)で苦戦してみる。 Internet Explorerの右クリックで出るコンテキストメニューに追加する方法は分かった。 Adding Entries to the Standard Context Menu [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuEx…
IEの印刷テンプレートを使う方法について、shdoclc.dllに入っている標準のテンプレートファイルを書き換える方法を試していたが、これだと汎用のプログラムを作ることが難しい。 流通しているshdoclc.dllにはいくつかのバージョン違いがあると思われる 勝手…
標準Internet Explorerの印刷テンプレート変更の続き。 結論から言うと、shdoclc.dllのリソースを改造することで標準IEの印刷テンプレートを変更することができた。 (1)shdoclc.dllのバックアップを保存する (2)shdoclc.dllの中のPREVIEW.DLGを改造する (3)…
標準IEで印刷テンプレートを使う方法について。 たぶん標準IEも内部的には(ハードコーデッドな)印刷テンプレートを使っているはず。 というわけでそれらしいファイルを探してみるが、収穫なし。 それじゃあ、というわけで次はDLLのリソースを当たってみる…