msdnに記載されている通り、GetObject関数はIE9(標準モード)以降ではサポートされていません。 → MSDN:GetObject関数
HTML5を利用するためにHTAでレンダリングモードを変更するとGetObjectが使えなくなり、WMIからデータを取得したりすることができません。
HTML5を利用しつつGetObjectを使うためのサンプルを作成しました。
2017年4月22日土曜日
2017年4月17日月曜日
HTML5の機能で画像ファイルを埋め込みイメージタグに変換するサンプル
base64エンコードという処理をするとHTMLファイルに画像ファイルなどを埋め込むことが可能になります。
そのbase64エンコードをやってくれるwebサービスなどもありますが、ブラウザでHTML5の機能だけでやることも可能です。
その変換用サンプルを作成しました。
そのbase64エンコードをやってくれるwebサービスなどもありますが、ブラウザでHTML5の機能だけでやることも可能です。
その変換用サンプルを作成しました。
2016年11月2日水曜日
WebWorkerのpostMessageは非同期?
先日サンプルを作成して比較した結果、Workerスレッドの方がわずかに速いという結果になったのですが、数回分の試験データを比較した時に気になった点がありました。
タイトルの通り、postMessageは非同期なのか?ということが気になったので、それをプログラムで動作確認しました。
タイトルの通り、postMessageは非同期なのか?ということが気になったので、それをプログラムで動作確認しました。
2016年10月28日金曜日
contentEditableでリッチテキストエディタ
HTML5では全ての要素でcontentEditableプロパティが使えます。
それを利用して「リッチテキスト」を作成するプログラムを作りました。
JavaScriptが扱える人なら容易に機能を拡張することができます。
何気なく思いついて作ってみたけど、なかなかの拡張性で実用性が高そう。
それを利用して「リッチテキスト」を作成するプログラムを作りました。
JavaScriptが扱える人なら容易に機能を拡張することができます。
何気なく思いついて作ってみたけど、なかなかの拡張性で実用性が高そう。
ラベル:
contentEditable,
draggable,
HTML5,
iframe
2016年5月24日火曜日
WebWorkerをHTAで利用する
HTAでもマルチスレッドで処理できる。
WebWorkerを使ううえでの注意点(別スレッドからはDOMにアクセスできないなど)はブラウザで使用する場合と同じ。
「C:\app\WebWorker.hta」のようなローカルPathから起動された場合はtempフォルダ内に外部スクリプトを出力して、それがWorker用のスクリプトファイルとして利用される。
「\\PC名\共有フォルダ\WebWorker.hta」のようなPathから起動された場合はBlobが上記の代わり利用されます。
Blobは作成元のHTAファイルの文字コードに関係なく、(おそらく)UTF-16になるため、HTAファイルもUTF-16(メモ帳でいうところのUnicode・・・)で保存しておかないと、実行時に文字化けしてエラーが出ます。
ローカルPathから起動された場合はFileSystemObjectのCreateTextFileでスクリプトファイルを出力するので、そのファイルと作成元HTAの文字コードが一致していれば問題ないので何でも良いですが、Blobを使う状況になっても文字コードを変えなくても良いように、HTAファイルもUTF-16で保存してください。(下記サンプルソースではCreateTextFileの第3引数をtrueにしてスクリプトファイルもUTF-16で出力していますので、HTAファイルもUTF-16にしないとエラーになります)
WebWorkerを使ううえでの注意点(別スレッドからはDOMにアクセスできないなど)はブラウザで使用する場合と同じ。
「C:\app\WebWorker.hta」のようなローカルPathから起動された場合はtempフォルダ内に外部スクリプトを出力して、それがWorker用のスクリプトファイルとして利用される。
「\\PC名\共有フォルダ\WebWorker.hta」のようなPathから起動された場合はBlobが上記の代わり利用されます。
Blobは作成元のHTAファイルの文字コードに関係なく、(おそらく)UTF-16になるため、HTAファイルもUTF-16(メモ帳でいうところのUnicode・・・)で保存しておかないと、実行時に文字化けしてエラーが出ます。
ローカルPathから起動された場合はFileSystemObjectのCreateTextFileでスクリプトファイルを出力するので、そのファイルと作成元HTAの文字コードが一致していれば問題ないので何でも良いですが、Blobを使う状況になっても文字コードを変えなくても良いように、HTAファイルもUTF-16で保存してください。(下記サンプルソースではCreateTextFileの第3引数をtrueにしてスクリプトファイルもUTF-16で出力していますので、HTAファイルもUTF-16にしないとエラーになります)
HTML5とHTA:Applicationタグの併用
HTML5モードだとHTA:Applicationタグが無効になる。
そのためiconなどが設定できなくなるが、ラッパーを使用すれば併用できるようになる。
※ただし画面偏移可能になってしまうのでhta内部でリンクをクリックしたり、HTML5のD&D機能を使うつもりで画面上にファイルを入れると画面偏移してしまう。
そのためiconなどが設定できなくなるが、ラッパーを使用すれば併用できるようになる。
※ただし画面偏移可能になってしまうのでhta内部でリンクをクリックしたり、HTML5のD&D機能を使うつもりで画面上にファイルを入れると画面偏移してしまう。
ラベル:
HTA,
HTA:Application,
HTML5
2016年5月23日月曜日
FileAPIをHTAで利用するサンプル
FileAPIを使うと、画面上にドラッグ&ドロップされたファイルを扱える。
ただしフォルダは扱えない。下記サンプルにD&Dすると「typeを取得できませんでした」になる。
ファイルであってもPathは取得できないので、単一ファイルの入力に対して何かを返すアプリケーションを作る時だけ使える。
ちなみにHTML5以前のHTMLにiframeエレメントを入れて、その中にHTML5のページを表示してFileAPIを利用する…というのはブラウザでは可能。HTAでは不可。
ただしフォルダは扱えない。下記サンプルにD&Dすると「typeを取得できませんでした」になる。
ファイルであってもPathは取得できないので、単一ファイルの入力に対して何かを返すアプリケーションを作る時だけ使える。
ちなみにHTML5以前のHTMLにiframeエレメントを入れて、その中にHTML5のページを表示してFileAPIを利用する…というのはブラウザでは可能。HTAでは不可。
登録:
投稿 (Atom)