SQLの窓

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

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

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

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

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


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

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

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

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

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

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

CSS ドロップシャドウの参考デモ
BUTTONS (CSS でボタン)
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり