SQLの窓

2017年03月16日


IE11 で VBScript を使う場合の注意事項 ( 古い社内アプリ移行時必見 )

2015/07/31
この記事書いてから一年以上経過しましたが、問題なくシステムは動作しています。ただ、最近は『互換表示設定』によって自動的にうまく行く方向ですが、いくつかバリエーションがあるので、それは記事最後に記述します

追記(2017/03/16)
VBScript の スクリプト要素の置く位置で、VBScript をデフォルトにできるのは、<meta http-equiv="x-ua-compatible" content="IE=8"> までです(かつ互換表示設定で動いています)。IE=9、IE=10 ではデフォルトにできないです。IE9 以降のテクノロジを使うには、いっその事、VBScript 関連のオブジェクト処理を JavaScript で書くか、実行単位で language="VBScript" を書くかの選択になると思います。(ウチでは当分 IE8 で運用予定ですが)

※ さらに、自分の環境では開発者ツール開いてると何故かデフォルトにできないのが現状です
【2014年03月07日】
XP から Windows7 への移行がいずれ余儀なくされます。今、実際に移行作業中なのですが、元々は10年前に作成していたので、ここに書いて無い事以外にも注意事項がたくさんあります( 極端なのは document.all だったり、css の単位無し定義だったり )
しかし、IE11 はなにもしなければ、VBScript が動かなくなるので、Excel と連携するようなアプリが壊滅してしまいます。その際のテコ入れ時に知っておいたほうが幸せになれる内容です。 まず、以下のコードは JavaScript が IE のデフォルトのスクリプトなので、IE8 でもエラーになります。
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
<input type="button" value="実行" onclick='call alert("OK")'>
</body>
</html>

これは基本的な事ではありますが、IE のデフォルトのスクリプトを変更する方法がある事を知る為の事実の前振りでもあります。

最初は、この INPUT だけを IE11 でVBSCript 扱いするには以下のように記述します。
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
<input type="button" value="実行" onclick='call alert("OK")' language="VBScript">
</body>
</html>

これは通常の Microsoft のドキュメントでも書かれていますが、これではデフォルトにはなりません。そこで、以下のようにして VBScript を IE のデフォルトスクリプトに変更します
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<script language="VBScript"></script>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
<input type="button" value="実行" onclick='call alert("OK")'>
<input type="button" value="実行" onclick='alert("OK");'>
</body>
</html>

※ 11 行目はセミコロンがあるのでエラーになります


つまり、ページの最初に認識されるスクリプト要素が VBScript であれば、デフォルトが VBScript に変更されます。但し、X-UA-Compatible と両方書く場合は、X-UA-Compatible のほうが先でなければなりません。以下のコードは、IE8 のドキュメントモードに変更されずに、IE11 となり、そもそも VBScript が動作しません。
<html>
<head>
<script language="VBScript"></script>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="style.css">

</head>
<body>
<input type="button" value="実行" onclick='call alert("OK")'>
<input type="button" value="実行" onclick='alert("OK");'>
</body>
</html>



META 要素による、X-UA-Compatible の設定は、それより前に IE の判断の邪魔になるようなものがあると、設定しない動作になるので、X-UA-Compatible はできるだけ先頭にする必要があります。これは、VBScript 以外の対応においてもきちんと対応すべき重要な仕様です。

※ これに関して、Microsoft の開発者ツール(F12)のドキュメントに説明があります
【HTML1115】
一般に、"META" タグが "Script" または "Style" 宣言の後に置かれ、それによりページのドキュメント モードが修正されたことを表します。

X-UA-Compatible META タグをヘッダー内のできるだけ前の位置に移動します。"<title>" と charset の値の直後に配置することをお勧めします。
さらに、Quirks モード( 互換モード / IE6 の時代の過去の互換なので、正確には IE5 ) は、IE5 と指定すると設定されるようです。
<meta http-equiv="X-UA-Compatible" content="IE=5">

『互換表示設定』について



IEの、右上の歯車アイコンで開くメニューの中に、『互換表示設定』という項目がありますが、これは意図的にある条件にあてはまるページを IE8 より前のIE 互換で表示するものですが、その条件が大きく分けて2通りあります。

1) 登録したサイト
2) イントラネット

これによって自動的に古い IE とコンパチブルになるようになっていて、しかもこれで運用したほうがサーバーに渡されるユーザーエージェント文字が完全であるという事を最近確かめました。

そして、HTML の書かれ方によって、コンパチブルになるIE のバージョンが2段階になる事も今回確認しました。
( 他のパターンは未確認です )

1) <!DOCTYPE html> が書かれていると IE7 互換になる
2) 何も無い <html> 始まりだと、IE5(Quirks モード) 互換になる

いずれにしても、VBScript は昔どおり動作しますので、イントラネットで運用されていた旧システムは何もしなくてもほぼ動く事になっています。( 一年前は違ったはずですが・・・ )

関連する記事

IE11 でVBScript が動作しないので、x-ua-compatible を使用して Excel(Excel.Application) の処理を検証




posted by lightbox at 2017-03-16 15:23 | IE | このブログの読者になる | 更新情報をチェックする

2016年12月24日


いまさらですが、IE9 を含むそれ以前の URL の QueryString の解釈のバグ

なんと無くは知っていたのですが、そうそう遭遇するものでも無く、忘れていました。

まず、ソース上はこうなっています。間違い無く
<img src="img.php?bc=&gt=">
しかし、IE9 にエミュレーションして、開発者ツールで見るとこうなっています
<img src="img.php?bc=>=">
つまり、&gt= が > になってしまっています。本来、セミコロンがあればまだ可能性がありますが、それでも URL 上ではバグです。

結局、一つ前の bc の内容が本来空なのに、>= という値が入ってしまうという凄まじさです。

▼ IE11 でテスト(2016/12/24)




posted by lightbox at 2016-12-24 14:53 | IE | このブログの読者になる | 更新情報をチェックする

2016年01月20日


IE で URL に username:password を含めて基本認証を可能にするには

更新履歴
2015-01-20 : IE11 で動作確認
2013-08-08 : IE10 で動作確認
2010-07-28 : 初回投稿


セキュリティ上の理由でサポートされなくなったのはかなり前だったので、今まで、一般的な動作だと思ってました。しかし、Firefox と Chrome で試したら、どちらでも普通に動作していました。

※ Chrome は普通に開きました。
※ Firefox はメッセージボックスで開くかどうかの確認を求められます

Microsoft の文書

Internet Explorer では Web サイト アドレス (HTTP URL および HTTPS URL) に含まれるユーザー名およびパスワードがサポートされない

HKEY_CURRENT_USER HKEY_LOCAL_MACHINE の両方でサポートされますが、HKEY_CURRENT_USER では、キーが作成されておらず、自分で作成する必要があります。この、一連の FeatureControl 下のキーは、全てアプリケーション毎への設定です。

▼ HKEY_LOCAL_MACHINE で最初からあったエントリ

(※ 大量にエントリがあります)

(参考)
別のドキュメントでは、同位置のセキュリティコントールの方法として、クリップボードに対する設定が書かれています
Internet Explorer 7 におけるクリップボードへのスクリプト アクセスの既定のセキュリティ設定の強化

username:password が必要な場合は以下を設定します。
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_HTTP_USERNAME_PASSWORD_DISABLE]
"iexplore.exe"=dword:00000000


以下は、上記場所を開く為のスクリプトをダウンロードするリンクです

IEのFeatureControl( ユーザー毎 )




タグ:IE レア
posted by lightbox at 2016-01-20 17:34 | IE | このブログの読者になる | 更新情報をチェックする

2015年07月30日


IE11 の 互換表示機能に関するいくつかの問題

右上の歯車アイコンで開くメニューの中に、『互換表示設定』という項目がありますが、これは意図的にある条件にあてはまるページを IE7 互換で表示するものですが、その条件が大きく分けて2通りあります。

1) 登録したサイト
2) イントラネット

この 2) の条件は、IE11 が導入された当時チェックされていなかったと思います。先日久しぶりに IE11 にかかわるメンテをやっていたら、何故か IE7 互換になっていたので確認するとそうなっていました。他の PC も確認したので、これは Windows Update のどこかのタイミングで強制的にチェックが付いたと思われます。

▼ 他の方法で IE8 互換でテストしているのでチェックを外してあります


で、実はこのチェックをするかしないかで、サーバー側で受け取るユーザーエージェント文字列が違うという事実を確認しました。

X-UA-Compatible META要素 による設定



この設定は、HTML で指定する方法ですが、IE11 が IE8 コンパチブルにもかかわらず、サーバー側は IE11 扱いです。( POST しても同じ )
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="IE=8">
</head>
<body>
<form>
<input type="submit" name="send" value="送信">
</form>
<img src="server.png" style='display:block;margin-top:10px;'>
<?php
print $_SERVER["HTTP_USER_AGENT"];
?>
<hr>
<img src="client.png" style='display:block'>
<script>
document.write(window.navigator.userAgent);
</script>
</body>
</html>

▲ デモページ

最初、こういう仕様なんだろうと思ったんですが、『互換表示設定』を行うと以下のようになります。



おそらく、IE11 移行時に想定していた対応策が、Microsoft 側で足並みが取れずにかつ後フォローもできていないとしか思え無いです。

結局、これ以外の方法は全てサーバー側では IE11 扱いになります。

X-UA-Compatible ヘッダーによる設定




F12 で手動変更




関連する Microsoft ドキュメント

F12 開発者ツール コンソール エラー メッセージ
X-UA-Compatible META タグをヘッダー内のできるだけ前の位置に移動します。"title" と charset の値の直後に配置することをお勧めします。
グループ ポリシーを使った Internet Explorer 11 の互換性の管理 ドキュメント互換性の定義 下の二つのドキュメントは、F12 で開く開発者ツールの『エミュレーション』タブのドキュメントモードの項目の右にある インフォメーションアイコンで開く英文ページから辿れる内容ですが、一つは英文でしか開かないという、適当対応が現状です。
タグ:IE トラブル
posted by lightbox at 2015-07-30 13:49 | IE | このブログの読者になる | 更新情報をチェックする

2015年01月08日


IE : URLに使用可能な文字数

IE6 時代の正式ドキュメントでは、2083文字ですが、今(IE11)は相当長いようです。

ブラウザの URL の最大長

IE 以外では正確にチェックできないぐらい大きな数字である事が解りますが、今は IE11 でもそんな感じのようです。

How long an URL can Internet Explorer 9 take? - Stack Overflow

Stack Overflow のコードは、JavaScript でテストしているので正確かどうかは解りませんが、目安にはなります。
<a id="anc" href="http://google.com/">Test</a>
<script type="text/javascript">
function init() {
	var anchor = document.getElementById('anc');
	var valid = true;
	var url = 'http://google.com/?search=';
	var count = url.length;

	while(valid) {
		url = url + '1';
		anchor.href = url;
		count++;
		valid = anchor.href == url;

		if(count > 100000) {
			alert('Test reached 100,000, stopping...');
			valid = false;
		}
	}
	alert('Complete, count = ' + count);
}
init();
</script>

昔の IE9 でチェックした時は 5120 だったそうですが、現在 IE11 のエミュレーションでテストすると、IE8 以前の場合のみ 5120 になります。

昔実際にテストした時は、IE8 では 4096 でした。

このへんはエミュレーションですから適当なようです。

この結果をふまえて試してみたいのは、ブックマークレットで大きなサイズの処理が可能かどうか・・・というところですが、メンテナンス性が悪いのてあまりしないほうがいいとは思います。


タグ:制限 IE
posted by lightbox at 2015-01-08 21:05 | IE | このブログの読者になる | 更新情報をチェックする

2014年12月24日


IE11 でドキュメントモードを変更して IE8 として VBscript から jQuery にアクセスする

結論から言うと、VBScript から直接 jQuery のオブジェクトを操作できました。言語仕様の違いから、$ は使えませんし、無名ファンクションも無いので事前に Callback 関数を作っておけば VBScript 内でもイベント操作はできますが、関数の引数の仕様が全く違うので、複雑な処理は JavaScript 側で実行するのが吉です。

ただ、JavaScript のオブジェクトは VBScript から参照した時点で VBScript から普通にプロパティやメソッドを参照できる事には少し驚いています。ですが、これならば、Excel 等を使った既存の IE 専用のページで jQuery を使って画面制御やデータ取得が簡単にできそうです。

関連する記事

IE11 で VBScript を使う場合の注意事項 ( 古い社内アプリ移行時必見 )

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="x-ua-compatible" content="IE=8">
<meta http-equiv="Content-type" content="text/html; charset=utf-8">

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
// JavaScript オブジェクト用プロパティ名
var jsKey = ["name", "age", "tel"];

// *************************************
// テーブル要素内より JSON を作成して
// VBScript 側に返す
// *************************************
function jsGetTableData() {

	var jsData = {}

	jQuery("#tdata tr").each( function( idx, el ) {
		jsData[jsKey[idx]] = $( el ).find("td").eq(1).text()
	} );

	return jsData;
}
</script>

<script language="VBScript">
' *************************************
' VBScript から JavaScript を呼び出して
' 必要なデータをオブジェクトして取得
' *************************************
Function vbsAction()

	' オブジェクトなので Set が必要です
	Set vbData = jsGetTableData()

	' jQuery を直接呼出しています
	jQuery("#p1").val( vbData.name )
	jQuery("#p2").val( vbData.age )
	jQuery("#p3").val( vbData.tel )

End Function

</script>

</head>
<body>
<input id="bt" type="button" value="実行" onclick="Call vbsAction()" language="VBScript">
<br>
<input id="p1" type="text"><br>
<input id="p2" type="text"><br>
<input id="p3" type="text"><br>

<table id="tdata">
<tr>
	<td>氏名</td><td>山田 太郎</td>
</tr>
<tr>
	<td>年齢</td><td>20</td>
</tr>
<tr>
	<td>電話番号</td><td>01-2345-6789</td>
</tr>
</table>
</body>
</html>




タグ:VBScript IE jquery
posted by lightbox at 2014-12-24 16:38 | IE | このブログの読者になる | 更新情報をチェックする

2014年12月16日


IE11 で、ソースマップを使用して圧縮された JavaScript のコードを圧縮する前の状態でデバッグする

Using the F12 developer tools

ソースマップは、圧縮されたスクリプトを圧縮前のスクリプトに同期させてユーザがオリジナルのスクリプトを参照しながらデバッグする機能です。

以下のサンプルは jQuery ですが、jQuery のバージョン毎にマップファイルとオリジナルスクリプトが必要になります。最新のバージョンのスクリプトの場合はダウンロードすれば済みますが、古いバージョンのスクリプトのマップファイルとオリジナルスクリプトが必要な場合は Google のホスティングより入手できますhttp://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.map
http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js



IE では、ローカルのフォルダに両方置く

Google Chrome ですと、WEB を直接参照するようですが、IE ではローカル参照用のダイアログが開きます



ソースマップを使用するかしないかの切り替えは、右端のアイコンで実行できます






posted by lightbox at 2014-12-16 15:37 | IE | このブログの読者になる | 更新情報をチェックする

2014年11月17日


IE のポップアップブロックの設定を最強にすると、_blank のリンクは CTRLとALT キーを押しながらクリックする必要があります





Microsoft のその手のドキュメントをいろいろ読んでいると、気になったので試してみたのですが、制限を解除した事はあっても、逆に強化した事は無かったので少しびっくりしました。

既定の設定では、Web サイト上のリンクやボタンをクリックしたときに開くポップアップはブロックされません

結局画像のように設定すると、以下のような表示が出てウインドウを開くただのリンクは動作しません。


( ※ ▲クリックすると大きく表示します )

Windows XP のころは全くなにも反応が無かった覚えがありますが、今はこういうメッセージがブラウザ下部に表示されます。Windows XP のころは、CTRL キーを押しながらクリックすると動作していました。今でも CTRL キーで動作はするのですが、フォーカスがそのタブへ移動しないので、 CTRL+ALT キーを押しながらクリックする事になっているようです。( CTRLキーを押しながらの動作は通常時でも使用でき、SHIFTキーを押しながらですと、ウインドウを新たに開きます )

IE のセキュリティ設定は、解除できますが解りにくい表現をしている事が多く、バージョンによってコロコロ仕様が変わった来たという経緯もあり、結構わけがわかりません。以下のリンク先のような表がある事自体それを裏付けています。

バージョン別セキュリティ既定値一覧表



頭がクラクラしそうになる、大量の表です。作った人はさぞ大変だだろうと思われます。

PDF で見たほうがバージョンが綺麗に横に全部並んでいます







posted by lightbox at 2014-11-17 19:13 | IE | このブログの読者になる | 更新情報をチェックする

2014年10月30日


IEの設定 : 混在したコンテンツ(HTTPS ページに HTTP の IFRAME や スクリプト)を表示すると、『このページにはセキュリティで保護されているコンテンツのみ表示されます』とブラウザ下部に表示されます


( クリックすると大きく表示します )

簡単に試すには、Google ドライブにWEBページを作ってその中で IFRAME で http ページを表示するか、http で参照する JavaScript を記述します。
<html>
<body>
<script src="http://winofsql.jp/jquery/jquery-1.9.1.min.js"></script>
<img src="http://winofsql.jp/image/winofsql.png" style="border: solid 0px #000000">
<br>
<iframe
    src="http://winofsql.jp/info.php"
	name="myframe"
	frameborder="1"
	scrolling="yes"
	width="1024"
	height="800"
></iframe>

</body>
</html>


右端のボタン(全てのコンテンツを表示)をクリックすると表示されますが、常に表示可能にしたい場合は IE の設定で以下を変更します。



有効にすると表示されるようになります。


関連する 記事

フォルダオプションに Windows のレジストリ設定を追加する

( クリックすると大きく表示します )

関連する Microsoft ドキュメント

Internet Explorer のセキュリティ ゾーン関連のレジストリ エントリについて


posted by lightbox at 2014-10-30 03:23 | IE | このブログの読者になる | 更新情報をチェックする

2014年10月28日


IEによる JavaScriptのセキュリティ上の制限とその解除

この Seesaa でも、投稿用のテキストから文字列を選択して URL ボタンを押すとダイアログが表示されて、URL を入力するようになっており、これはごく普通の処理です。



しかし、IE では昔デフォルトでこの処理が制限されていた事(たぶん2009年のIE7)がありました。それは当時以下の設定を『有効』にすると制限が解除されて正しく使えるようになっていたのですが、現在ではどちらの設定にしても正しく動作するようです。IE の黒い歴史の残骸なのかどうかは解りませんが、Microsoft で関係文書をみつける事はできませんでした。



▼ 当時、こんなダイアログが出て、情報バーをクリックしてから許可してもう一度同じ作業をする必要がありました。



そして、もう一つスクリプトにクリップボードへのコピーを許可する設定があります。



これは今でも健在で、デフォルトではダイアログボックスが表示されて、貼り付けても良いか(またはコピーしても良いか)確認を要求されます。

IEの clipboardData object で、コピーと貼り付けと両方向可能です



これは、知識のあるユーザが利用する場合は有効にしても「実害」は発生しません。まれに、ユーザがコピーした内容をすり替えて悪意のあるサイトに誘導する可能性があったので、問題になって世の中全てがこのようになった経緯があり、Flash でも同様の対応を当時せまられました。実際使うとすれば、IE 限定なのでイントラネット等の閉じたネットワークで使われる事が一般的で、業務処理を行っていた人達には迷惑な話でした。

現在、どうしても必要なユーザは『信頼済みサイト』に対象ページのドメインを登録して、『信頼済みサイト』の設定を変更するといいと思います。

JavaScript を無効にする

現在そのような事は現実的ではありませんが、設定としてはこちらです。IE では、『アクティブスクリプト』と呼ばれており、たぶん昔は JavaScript の替わりに VBScript が使えていたのでそのような呼び名になったのだと思います。



これと同じような設定は、他のブラウザでも存在します。これらは、JavaScript でどのような画面表示がなされているかと言うような、ページの検査に使う事はあります。

XSS フィルターは有効にします



これは純粋なセキュリティ対策です。どのような悪意を持った使われ方をするか想像付かない為、デフォルトで有効で正解です。ただ、自分自身や社内の便利ツールとして、入力した JavaScript で動的に JavaScript の結果が欲しいような場合は、この設定を『信頼済みサイト』に対象ドメインまたは PC 名を登録してこの設定を無効にするといいと思います。


Java は、Java そのものをコントロールパネルから無効に

Java に関しては、セキュリティ上の問題が過去に多くあり、WEB 上で使う事は信頼できないので、ブラウザで利用できないように大元を断つ必要があると思います


関連する記事 IEの設定 : このページにはセキュリティで保護されている項目と保護されていない項目が含まれています IEの設定 : 信頼済みサイトに移動する時にダイアログを表示しないようにする フォルダオプションに Windos のレジストリ設定を追加する 関連する Microsoft ドキュメント IE のセキュリティ ゾーン関連のレジストリ エントリについて ※ 初回投稿 : 2009-07-29
posted by lightbox at 2014-10-28 22:41 | IE | このブログの読者になる | 更新情報をチェックする

2014年10月27日


IEの設定 : 信頼済みサイトに移動する時にダイアログを表示しないようにする

IEでリンクをクリックすると、以下のようなダイアログが出る場合があります。
( 過去に、このような設定に最初からなっている時期がありました )


( Google で自分のサイトを検索して表示させました )

もしこのようなダイアログが表示される場合は「インターネット」では無く「信頼済みサイト」の設定を変更します。



通常は『有効』になっており、自由に移動できるはずですが、『ダイアログを表示する』となっていると、冒頭のダイアログが表示されてしまいます。

信頼済みサイトとは

通常アクセスするサイトは、誰が運営しているか解りませんのでセキュリティはある程度高く設定されています。しかし、WEB上で作業する場合、セキュリティを低く設定したほうが便利な事はたくさんあり、例えば自分が運営しているサイトにアクセスするならば、疑う必要は無いわけですから、「信頼済みサイト」に登録して、セキュリティの設定を変更して運用する場合もあります。




関連する記事

フォルダオプションに Windos のレジストリ設定を追加する
IEの設定 : 混在したコンテンツの表示
IEによるスクリプトの制限の解除

関連するMicrosoft のドキュメント

IE のセキュリティ ゾーン関連のレジストリ エントリについて


初回投稿 : 2009-08-09


posted by lightbox at 2014-10-27 23:46 | IE | このブログの読者になる | 更新情報をチェックする

2014年09月11日


IE11で、古いコードを IE8 のエミュレート時のみで起こる酷いバグ( option.text に文字列をセットするとリストボックスが選択できなくなります )

完全に使えません。リストボックスが固まって選択できなくなります。対処方法はありますが、options がらみでいろいろ不思議な現象が起きました。その中で確実に再現確認したのは以下のコードです。
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8">
<meta http-equiv="Content-type" content="text/html; charset=shift_jis">

<script>
function addOptionItem() {
	obj = document.getElementsByName("bug_test")[0];
	newItem = document.createElement("option");
	obj.options.add(newItem);
	newItem.value = 42;
	newItem.text = "兵庫";
}

function addOptionItem2() {
	obj = document.getElementsByName("bug_test")[0];
	newItem = document.createElement("option");
	obj.options.add(newItem);
	newItem.value = 42;
	newItem.innerHTML = "兵庫";
}
</script>

</head>
<body>

<input type="button" value="兵庫追加" onClick="addOptionItem();">
<br>
<form>
<select name="bug_test" size=8>
<option value="38">三重</option>
<option value="43">和歌山</option>
<option value="44">奈良</option>
<option value="45">滋賀</option>
<option value="41">京都</option>
<option value="40">大阪</option>
</select>
</form>
<input type="button" value="正しく兵庫追加" onClick="addOptionItem2();">

</body>
</html>

何故か、IE8 のエミュレートのみで起こります。VBScript でも JavaScript でも起こります。対処方法は、text プロパティを使わずに、innerHTML プロパティにセットする事です。

関連する記事

IE11 で VBScript を使う場合の注意事項 ( 古い社内アプリ移行時必見 )



posted by lightbox at 2014-09-11 19:17 | IE | このブログの読者になる | 更新情報をチェックする

2014年08月27日


IE11 : 実行済みのページのソースをクリップボードにコピーする

F12 で開発者ツールを表示し、コンソールを開いて以下のコマンドを実行します。
window.clipboardData.setData("Text",document.getElementsByTagName("HTML")[0].outerHTML)
実行すると、通常はクリップボードを使ってもいいか確認ダイアログが出るので『アクセスを許可』して下さい。




関連する記事

Firefox の Firebug で、実行済みのページのソースをクリップボードにコピーする
Google Chrome の「デベロッパーツール」で、実行済みのページのソースをクリップボードにコピーする



posted by lightbox at 2014-08-27 23:03 | IE | このブログの読者になる | 更新情報をチェックする

2014年08月26日


IE8 までは、ブロック要素でなくても『page-break-after』は動作してました。というか、正式ドキュメントにそう書いてあります。

page-break-after

上のリンク先は、IE4 の時から存在するドキュメントですが、いまだにこう書いてあります。



記録として残そうと思って、画像にしました。

IEを使った業務アプリではたぶんこれを元に利用されていたと思いますが、IE11 の IE8 のエミュレートで動作しないので注意して下さい。ブロック要素でもどうせ改行するので、BR を変更するだけでいいと思います。(終了タグも必要になりますが)

最初のドキュメントよりちょっと新しい IE9 用の英文ドキュメントでは、BR と HR 以外の全ての要素で使えると書いてありますが、IE11 では使えていません。



タグ:IE トラブル
posted by lightbox at 2014-08-26 20:49 | IE | このブログの読者になる | 更新情報をチェックする

2014年05月02日


Internet Explorer 用のセキュリティ更新プログラム (2965111) / あの IE の不始末の完全対応です

5/2 に( もう既に ) 緊急更新プログラムが公開されています。自動更新を有効にしていれば、更新プログラムは自動的に適用されます( 自分は更新済みです )
このセキュリティ更新プログラムは Internet Explorer に存在する 1 件の一般に公開されている脆弱性を解決します。この脆弱性により、ユーザーが Internet Explorer を使用して特別に細工された Web ページを表示すると、リモートでコードが実行される可能性があります。この脆弱性が悪用された場合、攻撃者が現在のユーザーと同じユーザー権限を取得する可能性があります。コンピューターでのユーザー権限が低い設定のアカウントを持つユーザーは、管理者特権で実行しているユーザーよりもこの脆弱性による影響が少ないと考えられます。
Windows Update の更新は、KB2964358 になっていました。関連する Microsoft のドキュメントは以下になります。 マイクロソフト セキュリティ情報 MS14-021 - 緊急 Internet Explorer 用のセキュリティ更新プログラム (2965111) 公開日: 2014 年 5 月 2 日 Description of the security update for Internet Explorer for systems that have security update 2929437 installed: May 1, 2014 特筆すべきは、Windows XP も対象になっているという事です。 Windows8 環境では、KB2964444 となるかもしれません。以下のようなダウンロードページもあります。 Windows 8.1 用 Internet Explorer 11 のセキュリティ更新プログラム (KB2964444) 関連する記事


posted by lightbox at 2014-05-02 09:01 | IE | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します


Windows
container 終わり

フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

Android SDK ポケットリファレンス
改訂版 Webデザイナーのための jQuery入門
今すぐ使えるかんたん ホームページ HTML&CSS入門
CSS ドロップシャドウの参考デモ
PHP正規表現チェッカー
Google Hosted Libraries
cdnjs
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり