2016年6月27日月曜日

任意のページを任意のタイミングで表示更新するだけのHTAを作成

任意アドレスのページを表示する、ただそれだけのサンプルを作成しました。





ソースは以下
<html>
<head>
<title>更新専用</title>
<style tyle="text/css">
.max {width:100%;height:100%;}
.w-max{width:100%;}
.bigFont *{font-size:20px;}
</style>
</head>
<body style="overflow:hidden;">
<table class=max>
<tr height=1>
<td>
<table class="w-max bigFont">
<td><input class=w-max id=inp></td>
<td width=1><button id=btn>表示</button></td>
</table>
</td>
</tr>
<tr>
<td id=td>
<iframe id=ifr class=max></iframe>
</td>
</tr>
</table>
</body>
<script>
inp.onkeydown=function(){ if(event.keyCode==13){btn.onclick()} }
btn.onclick=function(){
td.firstChild.src = inp.value
return
// 以下は何故か動作しない…(iframeが白いままでエラーメッセージ等も出ない。)
confirm(inp.value) // inpの入力内容が表示される
confirm(ifr.outerHTML) // undefined
// ID:ifrのsrcにinp.valueを代入する方法
ifr.src = inp.value
// iframeエレメントをタグ名から取得する
var ifr_ = document.getElementsByTagName('iframe')
confirm(ifr_.length) // 何故か0。。
}
</script>
</html>

私は仕事で、「ブラウザに表示された各種設定項目の値を変更して、指定されたボタンをクリックすると設定値がサーバに送信されて、その内容が反映されたPDFファイルが別タブで開くので、入力内容がただしく反映されたか目視確認する」……というような社内システムを利用しています。そのシステムは私が作ったものではありません。

いちいち別タブに表示を切り替えるのが面倒で、なんとかしたいです。

別タブに表示されるPDFのアドレスは常に固定です。

タブを別ウィンドウにして、F5キーで再読み込みすれば、もしや・・・と思ったのですが、PDFビューワがF5を受け取ってしまい、ブラウザに対するF5にならないようで、再読み込みされません。

ブラウザの再読み込みボタンを押しても、キャッシュファイルが読み込まれてしまうのか、最新の情報になりません。とはいえ、この仕事のためにキャッシュを無効化するのも微妙です。。平行して他の作業をすることもありますし。

試しにiframeタグに任意のアドレスを表示させるプログラムを作ってみたら、最新の情報が表示されました。
どのPCでもどんな設定でもそうなるのかは不明ですが、とりあえず前よりマシになりました。

0 件のコメント:

コメントを投稿