Archive for the ‘HTML’ Category

documentModeが9にならない?

2011/05/07

下のソースコードは一般的なHTMLコードで、これをIE9で表示するとドキュメントモードは「IE9」(9)になります。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
</head>
<body>
<p>hoge</p>
</body>
</html>

IE9用に書いたものなので当たり前の動作なのですが、これをVBSで下記のように書くと何故かドキュメントモードが「8」になってしまいます。
(DOCTYPEやX-UA-Compatibleが色々書かれているのは色々試した結果。どれも「9」にならず・・・)

Option Explicit

Dim s

'DOCTYPE
s = "<!DOCTYPE html>" & vbCrLf
's = "<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0//EN"">" & vbCrLf
's = "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.1//EN"" ""http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"">" & vbCrLf

s = s & "<html>" & vbCrLf
s = s & "<head>" & vbCrLf
s = s & "<meta charset=""UTF-8"">" & vbCrLf

'X-UA-Compatible
s = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=edge"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=100"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=IE9"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=EmulateIE9"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=9"">" & vbCrLf
's = s & "<meta http-equiv=""X-UA-Compatible"" content=""IE=9; IE=8; IE=5"">" & vbCrLf

s = s & "</head>" & vbCrLf
s = s & "<body>" & vbCrLf
s = s & "<p>hoge</p>" & vbCrLf
s = s & "</body>" & vbCrLf
s = s & "</html>" & vbCrLf

With CreateObject("htmlfile")
  .clear
  .open
  .write s
  .close
  
  MsgBox "userAgent:" & .parentWindow.clientInformation.userAgent & vbCrLf & _
         "documentMode:" & .documentMode
End With

下位のドキュメントモードには設定できるのですが、う~ん・・・。謎です。
他に設定しないといけないところがあるのかなぁ・・・(?_?)

Internet Explorer 9 の新機能

2011/03/26

Internet Explorer 9 の新機能を試してみました。
「最近開いた項目を [スタート] メニューとタスク バーに保存し表示する」にチェックが入っていないとカスタムジャンプリストが有効にならないのにちょっとハマりました…。

2011/04/03 追記:
msSiteModeActivateメソッドってバックグラウンドじゃないと動かなかったのね!
これで使い方が分かりました。

[参考Webページ]
「固定サイト: Windows 7 デスクトップの Internet Explorer 9 との統合」
http://msdn.microsoft.com/ja-jp/library/gg581716%28v=VS.85%29.aspx
「Adding Items to a Jump List Dynamically」
http://msdn.microsoft.com/en-us/library/gg491724%28v=vs.85%29.aspx
「DHTML Methods」
http://msdn.microsoft.com/en-us/library/ms533053%28v=VS.85%29.aspx
「意外にカンタン。 Internet Explorer 9 の新機能を 実装してみる」
http://cssnite.jp/shinagawa/vol01/CSSNite-Shinagawa-2-MS-Suzuki-PinnedSite.pdf

<!DOCTYPE html>
<html>
<head>
<title>Internet Explorer 9 Sample Page</title>
<meta charset="UTF-8">
<meta name="application-name" content="ショートカット名" />
<meta name="msapplication-tooltip" content="ツールチップ" />
<meta name="msapplication-navbutton-color" content="#6495ed" />
<meta name="msapplication-window" content="width=800;height=600" />
<meta name="msapplication-task" content="name=タスク1;action-uri=#;icon-uri=./ico/access.ico" />
<meta name="msapplication-task" content="name=タスク2;action-uri=#;icon-uri=./ico/excel.ico" />
<link rel="shortcut icon" href="./ico/favicon.ico">
<link rel="image_src" href="./ico/favicon.ico">
<script type="text/javascript">
 function $(e) {return document.getElementById(e);}
 window.onload = function() {
 //ピン留めサイトかどうかを判断
 try {
 if (window.external.msIsSiteMode()) {
 $("siteMode").innerText = "ピン留めサイトから起動されています。";
 } else {
 $("siteMode").innerText = "ピン留めサイトから起動されていません。";
 }
 } catch(ex) {
 //alert("Site Mode is not supported.");
 return;
 }
 //スタートメニューにWebサイトを追加
 $("addSiteMode").onclick = function () {
 window.external.msAddSiteMode();
 };
 //オーバーレイアイコンを表示
 $("siteModeSetIconOverlay").onclick = function () {
 window.external.msSiteModeSetIconOverlay("./ico/mess.ico", "ユーザーへの通知");
 };
 //オーバーレイアイコンを削除
 $("siteModeClearIconOverlay").onclick = function () {
 window.external.msSiteModeClearIconOverlay();
 };
 //タスクバーボタンを点滅させる
 $("siteModeActivate").onclick = function () {
 window.setTimeout("window.external.msSiteModeActivate()", 2000);
 };
 //カスタムジャンプリストの作成
 //※ [タスク バーと [スタート] メニューのプロパティ] → [最近開いた項目を [スタート] メニューとタスク バーに保存し表示する]要チェック
 $("siteModeCreateJumpList").onclick = function () {
 window.external.msSiteModeClearJumplist();
 window.external.msSiteModeCreateJumplist("カスタムジャンプリスト");
 window.external.msSiteModeAddJumpListItem("カスタムリスト3", "#", "./ico/ppt.ico");
 window.external.msSiteModeAddJumpListItem("カスタムリスト2", "#", "./ico/word.ico");
 window.external.msSiteModeAddJumpListItem("カスタムリスト1", "#", "./ico/project.ico");
 window.external.msSiteModeShowJumpList();
 };
 //カスタムジャンプリストの削除
 $("siteModeClearJumpList").onclick = function () {
 window.external.msSiteModeClearJumpList();
 };
 };
</script>
</head>
<body>
<p><span id="siteMode"></span></p>
<p><input id="addSiteMode" type="button" value="スタートメニューにWebサイトを追加"></p>
<p><input id="siteModeSetIconOverlay" type="button" value="オーバーレイアイコンを表示"></p>
<p><input id="siteModeClearIconOverlay" type="button" value="オーバーレイアイコンを削除"></p>
<p><input id="siteModeActivate" type="button" value="タスクバーボタンを点滅させる(ボタンクリック後ウィンドウをバックグラウンドにする事)"></p>
<p><input id="siteModeCreateJumpList" type="button" value="カスタムジャンプリストの作成"></p>
<p><input id="siteModeClearJumpList" type="button" value="カスタムジャンプリストの削除"></p>
</body>
</html>

Internet Explorer 9 の新機能テスト