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) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。