Internet Explorer を利用した際に保存される キャッシュ(テンポラリファイル、Temporary Internet Files) を直接削除する バッチ の サンプルコード を メモ。
@echo off
rem 削除先フォルダ
set TARGET_DIR=%LOCALAPPDATA%\Microsoft\Windows\INetCache
rem 警告を表示せず、配下のファイルを削除
del "%TARGET_DIR%" /f /s /q
rem 警告を表示せず、配下のフォルダを削除
cd /d "%TARGET_DIR%"
for /d %%a in (*) do (
rmdir /s /q "%%a"
)
ラベル Internet Explorer の投稿を表示しています。 すべての投稿を表示
Microsoft Edge (Project Spartan) の UserAgent
Windows 10 Insider Preview が公開されました。
Windows 10 Insider Preview では、かねてからウワサだった Microsoft Edge (Project Spartan) が利用できます。
Internet Explorer は刷新され、 Microsoft Edge という名前に変わるようです。
さて、新しいブラウザが出たので、そのブラウザを判定するために User-Agent を確認したいので、調べてみました。
以下の User Agent 文字列 は実際に Windows 10 Insider Preview x64 を仮想マシンとして動かし、ブラウザを動作させて確認した文字列になります。
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537. ...
Akinari Tsugo
14:26
Internet Explorer,
JavaScript
IE の UserAgent まとめ (2)
<!--
.left-area
{
width: 200px;
float: left;
}
.right-area
{
margin-left: 200px;
overflow: auto;
}
.tbl
{
border-collapse: collapse;
}
.tbl th
{
padding: 0.3em 0.8em;
border: 1px solid silver;
background-color: #efefef;
}
.tbl td
{
height: 30px;
padding: 0.3em 0.8em;
border: 1px solid silver;
}
.left-tbl
{
width: 100%;
}
.right-tbl
{
}
...
Akinari Tsugo
17:43
HTML,
Internet Explorer,
JavaScript
カスタム URL スキーム の 設定 と 利用
.regbox {
border: 1px solid #808080;
padding: 1em 2em;
}
今回は、Windows パソコン において、カスタム URL スキーム を設定して、任意の アプリケーション を起動する方法を載せます。
ちなみに、"カスタム URL スキーム" は、"外部プロトコルリクエスト" とか "プロトコルハンドラ"、"Pluggable Protocol Handler"、"Asynchronous Pluggable Protocols" などの名前で掲載されいる記事が多いようです。
(…情報を探すのに苦労したので参考になれば。。)
目次
概要
レジストリ の 登録
カスタム URL スキーム の テスト
[おまけ] 警告の抑制
[おまけ] サンプルコード
Akinari Tsugo
23:11
HTML,
Internet Explorer,
拡張
JavaScript タッチ イベント (MSIE)
.events
{
margin-left: 2em;
}
.events dt
{
margin-top: 1em;
}
.events dd
{
}
.properties
{
margin-left: 2em;
width: 100%;
border-collapse: collapse;
}
.properties thead
{
background-color: #f5f5f5;
}
.properties th, .properties td
{
border: 1px solid #dddddd;
padding: 0.5em 0.8em;
}
.name
{
font-weight: bold;
width: 13em;
}
.type
{
color: #cccccc;
...
Akinari Tsugo
0:39
HTML,
Internet Explorer,
JavaScript,
マニュアル
UserAgent を 用いた IE11 の判別方法
(2015/01/04 Windows 10 Technical Preview の useragent を追記)
(2013/10/22 jQuery プラグイン でも判定できるようにしました。元記事は こちら 。)
Internet Explorer 11 から UserAgent 文字列が変更になるそうです
(詳細は こちら)。
その結果、今まで MSIE を使った Internet Explorer の判別が出来なくなります。
これでは困るので、従来の IE も含めて IE であることを判別できる JavaScript を以下で記載します。
IE11 の UserAgent サンプル
Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko
Mozilla/5.0 (Windows NT 6 ...
Akinari Tsugo
0:55
Internet Explorer,
JavaScript
IE8, IE9 環境 において jQuery で クロスドメイン通信 する方法
クロスドメイン通信 を実現するには "サーバー側" と "クライアント側" の2カ所に対して手を入れる必要があるかどうか考えます。
ここでは、"クライアント側" ── 特に IE8, IE9 ── において クロスドメイン通信 を実現する 実装方法 を記載します。
IE8、 IE9 で クロスドメイン通信 を行う場合、 XDomainRequest を利用します。
この XDomainRequest は XMLHttpRequest と似て非なるもの(詳細は こちら)なので、そのまま jQuery.ajax で使うことが出来ません。
jQuery の バグトラック によると、この違いは プラグイン で吸収するそうです。
で、その プラグイン と 使い方 は以下の通りです。
XDomainRequest 対応 プラグイン を利用した クロスドメイン通信 の 実装
...
Akinari Tsugo
0:53
Internet Explorer,
JavaScript,
jQuery,
クロスドメイン通信
XDomainRequest と XMLHttpRequest level 2 の 違い
.table {
border: 1px solid #efefef;
border-collapse: collapse;
width: 100%;
}
.table thead {
font-weight: bold;
background-color: #fcfcfc;
text-align: center;
}
.table th, .table td{
border: 1px solid #efefef;
padding: 0.3em 0.8em;
}
Internet Explorer 系列 で クロスドメイン通信 を行う場合、
IE8, IE9 だと XDomainRequest 、IE10 では XMLHttpRequest を利用します。
ここでは、似て非なる両者を比べてその違いをまとめます。 ...
Akinari Tsugo
0:16
Internet Explorer,
JavaScript,
クロスドメイン通信
IE の UserAgent まとめ
.left-area
{
width: 200px;
float: left;
}
.right-area
{
margin-left: 200px;
overflow: auto;
}
.tbl
{
border-collapse: collapse;
}
.tbl th
{
padding: 0.3em 0.8em;
border: 1px solid silver;
background-color: #efefef;
}
.tbl td
{
height: 2em;
padding: 0.3em 0.8em;
border: 1px solid silver;
}
.left-tbl
{
width: 100%;
}
.right-tbl
{
}
...
Akinari Tsugo
22:47
HTML,
Internet Explorer,
JavaScript
IE 向け アドオン の インストーラー 開発
.modify li
{
margin: 1em 0;
}
.bat
{
border: 1px solid silver;
padding: 1em 2em;
}
Windows Installer XML (WiX) toolset を 利用して、Internet Explorer 向け アドオン の インストーラー を開発します。
開発した アドオン を エンドユーザー に利用してもらうために必要な処理
──「コンポーネントの配置」「レジストリ登録」──
を実行する インストーラー を作成します。
今回は以前書いた "IE の アドオン 開発" の続編になります。
サンプルコードのダウンロード
(※2013/06/26 WiX3.5 だとコンパイルエラーが起こりました。WiX3.7 以上でお試しください。)
概要
...
Akinari Tsugo
11:49
C#,
Internet Explorer,
WiX,
マニュアル,
レジストリ,
拡張
IE の デフォルト機能 を 禁止 する
業務アプリを開発していると良く遭遇するこの問題…。
基本的には HTML のトップレベルで対応することで対策が無難と思います。
いわゆるホワイトリスト方式(基本は拒否。許可するものだけリストアップ。)です。
禁止したい機能は以下のようなものを想定しています。
テキスト選択
右クリックメニュー(コンテキストメニュー)
Ctrl を押しながら マウスホイール
テキスト、ファイルのドラッグ & ドロップ
サンプルコード with jQuery
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text ...
Akinari Tsugo
23:22
Internet Explorer,
JavaScript,
jQuery,
拡張
IE の 右クリック メニュー 拡張
.table {
width: 100%;
border: 1px solid silver;
border-collapse: collapse;
}
.table thead {
font-weight: bold;
background-color: #efefef;
}
.table tbody {
}
.table th, .table td {
border: 1px solid silver;
border-collapse: collapse;
padding: 0.5em 1em;
}
.indent {
margin-left: 2em;
}
IE の 右クリック メニュー(コンテキストメニュー) に独自項目を追加、実装するチュートリアルです。
コンテキストメニュー項目はレジストリ ...
Akinari Tsugo
21:58
Internet Explorer,
JavaScript,
レジストリ,
拡張
IE で メモリ を 強制的 に 解放
メモリーリークに近い話とは思いますが、ちょっと毛色の違う内容です。
「JavaScript がメモリーを馬鹿食いしてどうしようもない…」
「なぜかメモリーが確保されっぱなしなんだけど…?」
といった状況の解消法。
JavaScript にはガーベッジコレクタがあるから大丈夫…
と、思われがちですが、ガーベッジコレクタは『本当にメモリ解放が必要になるまで何もしない』というものです。
(状況が悪いとガーベッジコレクタは何もしてくれなくて、ブラウザが固まってしまいます。。)
「コストはかかるが、信用できないならプログラマが勝手にやってしまえ!!」という感じです。
Akinari Tsugo
0:37
Internet Explorer,
JavaScript,
メモリリーク
IE の メモリリーク不具合 まとめ (サンプルコード)
元ネタは こちら をご参照ください。
IE8 における JavaScript でメモリーリークを起こすコードパターンです。
ここにあげているパターンはすべてパッチリリース済みなので、パッチをあてれば解消できます。
逆に、パッチがあてられない場合、絶対書いてはいけないコードです。
innerHTML プロパティを頻繁に書き換える
frameset 要素を使う
window.open した先のウィンドウ内で循環参照を含む iframe 要素を使う
window.createPopup した先のウィンドウ内で window.createStyleSheet を使う
循環参照があるスクリプトで、onload、onerror、onunload イベントハンドラーを接続する
iframe から モーダルダイアログ を開いて、iframe を閉じる
innerHTML プロパティ ...
Akinari Tsugo
16:10
Internet Explorer,
JavaScript,
メモリリーク
IE のメモリリーク パターン(基本編)
IE6 の時代から言われ続けている、メモリーリークパターンを復習してみます。
あくまで基本編という扱いです。
ここにあるパターンは IE8 以降で一部解消されているようです。
循環参照
クロージャ
クロスページリーク
※IE8以降でメモリリークするパターンについては こちら をご参照ください。
循環参照
一言で"循環参照"、されど"循環参照"。
2つほどパターンがあるようなので、それぞれ取り上げてみます。
パターン1:DOM要素の独自プロパティがDOM要素を参照する
<html>
<head>
<script type="text/javascript">
// グローバル変数
var globalObject;
// メモリリークするコードを呼び出し ...
Akinari Tsugo
22:35
Internet Explorer,
JavaScript,
メモリリーク
IE の メモリリーク不具合 まとめ
.table {
border: 1px solid silver;
border-collapse: collapse;
}
.table th {
border: 1px solid silver;
background-color: #f6f6f6;
padding: 0.5em 0em;
}
.table td {
border: 1px solid silver;
padding: 0.5em;
}
Internet Explorer のメモリーリークは昔から本当に困りものです。。
システムテスト工程で言われた日にはどうしていいものか…。
そんな困りものの IE のメモリーリーク関連の情報をまとめをしてみます。
(ちなみに…Windows 7 を前提で話を進めさせてもらいます。つまるとこ IE8 以上。いま ...
Akinari Tsugo
23:24
Internet Explorer,
JavaScript,
メモリリーク
IE の アドオン 開発
今回は、Internet Explorer 上で動作する アドオン の開発を C# で実装してみます。
アドオンはページ内で ActiveX オブジェクトの生成を行う、または objectタグ を HTML に書き込むことで利用できるものです。
メニューの[ツール]-[アドオンの管理]から、現在利用できるアドオンを確認できます。
※ 本記事の更新履歴を末尾に掲載しています。
サンプルコード の ダウンロード
本記事 の メニュー
概要
空のソリューションの作成
アドオンプロジェクトの作成
アドオンの実装
テストプロジェクトの作成
テストページの作成
アドオンのテスト実行
まとめ
Akinari Tsugo
23:07
ActiveX,
C#,
Internet Explorer,
拡張
ActiveX に IObjectSafety を実装して 警告回避
今回は ActiveX に 安全であること を示す実装を行うことで、IEの 警告表示 を回避してみる。
ちなみに、実装は C# (自分が分かる範囲だからという軽い理由…)。
自分が知る限り、ActiveX の 警告回避 は以下のどれかでなかろうかと…思ってる。
そのうち、今回は「ActiveX に安全マークをつける」方法のうち、「コード上に実装する」方法。
ActiveXにデジタル署名する
一般的な認証局で発行したデジタル署名を利用
オレオレ認証局で発行したデジタル署名を利用
ActiveXを登録時に安全マークをつける
コード上に実装する
レジストリに"事前承認済み"書き込む(→詳細)
レジストリに"安全マーク"書き込む(→詳細)
さて、前置きが長くなりましたが…これから実装を始めます。
実装は ...
Akinari Tsugo
22:22
ActiveX,
C#,
Internet Explorer
ActiveX を "事前承認済み" にして 警告回避
ActiveX を警告なしに実行する方法はたぶん次の通り。
ActiveXにデジタル署名する
一般的な認証局で発行したデジタル署名を利用
オレオレ認証局で発行したデジタル署名を利用
ActiveXを登録時に安全マークをつける
コード上に実装する(→詳細)
レジストリに"事前承認済み"を書き込む
レジストリに"安全マーク"を書き込む(→詳細)
"ActiveX に安全マーク をつけて 警告回避" では回避できないことがあるようだったので、
別の方法(レジストリに"事前承認済み"を書き込む方法)を調べてみた。
想定している環境は次の通り。ただ、実際は Internet Explorer 7 以上が対象になるみたい。
Windows7 32bit or 64bit
Internet Exp ...
Akinari Tsugo
19:51
ActiveX,
Internet Explorer
ActiveX に "安全マーク" をつけて 警告回避
IEでActiveXをセキュリティ警告を出さずに実行するためには次のいずれかを行うのが一般的と思うんだけど…
ActiveXにデジタル署名する
一般的な認証局で発行したデジタル署名を利用
オレオレ認証局で発行したデジタル署名を利用
ActiveXを登録時に安全マークをつける
コード上に実装する(→詳細)
レジストリに"事前承認済み"を書き込む(→詳細)
レジストリに"安全マーク"を書き込む
今回は"ActiveX を登録時、レジストリに安全マークをつける"方法で警告回避。
(備忘録的書き込みなのでウソがあるかもしれません。。あしからずご了承を…)
「どうせ、ActiveXのインストールが必要なので、そのときついでにレジストリ登録もやっちゃえ」という発想。
実際は、コード上に実装する方法がうまくいかなかった ...
Akinari Tsugo
0:15
ActiveX,
C#,
Internet Explorer