SSブログ

よそのページのHTMLを取得、HTAで表示 [JavaScript]

HTA (HTMLアプリケーション, HTML Applications) というのがありまして。
HTMLとスクリプトを使って、ファイル操作などのアプリっぽいものを作ることができます。
ただ、なにぶん古い技術なのか、流行らないのか、情報が少なめです。
よそのページのHTMLを取得して、加工して表示し直すというもの以前に作ったのですが、最近動かなくなったので、ちょっと調べて見ました。
複雑なことはしたくない(Ajaxとかよくわからない、、)ので、非同期ではなく、同期通信(データを取得し終わるまで待ちます)で。

サンプル:名古屋の天気.hta
<!DOCTYPE html>
<html>
<head>
<HTA:APPLICATION />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type"/>
<title>名古屋の天気</title>
</head>
<body>
<script>
function getHtml(url)
{
  var xhr = new XMLHttpRequest();                       // オブジェクトを作成
  xhr.open("GET", url, false);                          // false:同期通信で
  xhr.send(null);                                       // HTTPリクエストを送信
  if (xhr.status === 200) return xhr.responseText;      // 通信が成功したら返す
  return "";
}
// 名古屋の天気をyahooからゲット
var weatherHtml = getHtml("https://weather.yahoo.co.jp/weather/jp/23/5110.html");
// 必要範囲だけ切り出す
weatherHtml = weatherHtml.replace(/[\s\S]+(<p class="pict">[\s\S]+?<\/p>)[\s\S]+/ , "$1");
// 書き出し
document.write(weatherHtml); 
</script>
</body>

タグ:HTA
nice!(0)  コメント(0)