ニュースリーダー(ZDNet) |
実行画面 | |
---|---|
説 明 | ZDNetのサイトから必要な情報を抜き出して表示します。メッセージが長いため<scrolling>left</scrolling>を使ってメッセージを左側にスクロールするようにしています。先頭記事を2つ表示させるため、テキストに含まれるタグをカットして表示するようにしています。 定期的にサイトチェックするためonTimerを使っています。interval="3600"の値は秒数です(サンプルでは1時間=60秒×60分)。 |
■ダウンロード |
|
サンプル | <widget> <window name="mainWin" width="620" height="24" opacity="192" /> <image src="Resources/window.png" name="myImg" width="620" height="24" /> <text name="text1"> <font>Osaka</font> <size>12</size> <hOffset>2</hOffset> <vOffset>15</vOffset> <scrolling>left</scrolling> <data>Now Loading ...</data> </text> <action trigger="onTimer" interval="3600"> check(); </action> <action trigger="onLoad"><!-- function check() { myURL = "http://www.zdnet.co.jp/news/"; checkURL = new URL(); text = checkURL.fetch(myURL); s = text.indexOf('</FONT><font size="2">'); e = text.indexOf("</FONT>",s+22); txt1 = text.substring(s+22,e); s = text.indexOf('<FONT SIZE="2" COLOR="#006633">'); e = text.indexOf("<BR",s+31); txt2 = text.substring(s+31,e); txt2 = tagCut(txt2); text1.data = "■" + txt1 + " ■" + txt2; } function tagCut(tmpText) { retText = ""; flag = false; for (i=0; i<tmpText.length; i++) { c = tmpText.charAt(i); if (c == "<") flag = true; if (!flag) retText += c; if (c == ">") flag = false; } return retText; } check(); // --></action> </widget> |
補足説明 | ページ内のタグを捕捉しているため今後正常に動作しなくなる場合があります。また、SHIFT JIS以外の文字コードにページ内容が変更された場合にも動作しなくなります。 |