Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

Web Runtime WidgetでRSSを使用する方法

From Wiki
Jump to: navigation, search
Article Metadata
Compatibility
Platform(s):
Symbian
Article
Translated:
By morisawafnj
Last edited: hamishwillee (08 May 2013)


対象となるバージョン: Web Runtime in S60 3rd Edition, Feature Pack 2

Contents

コード例

これは、RSSフィードを解析するためのJavaScriptのコード例を含んでいます。RSSの解析は通常のJavaScript関数で行えますが、開発者は、モバイル機器に特有のエラーが起こる可能性について考慮する必要があります。

  • SIMカードが挿入されていない
  • アクセスポイントが設定されていない
  • ユーザーによって接続がキャンセルされた

リクエスト操作

function loadRSSFeed(url) {
if (null == req) {
req = new XMLHttpRequest();
}
 
req.onreadystatechange = ReqStateChange;
 
req.open("GET", url, true);
req.send(null);
 
document.getElementById("content").innerHTML = "Updating" + url;
}

リクエストのコールバック処理

function ReqStateChange() {
if (req.readyState == 4) {
 
if (req.status == 200) {
UpdateContent(req);
}
else {
/*
* if widget is totally dependent of network connection you
* might consider notifying end user. error may occur due to
* network error (GSM/3G), no SIM inserted, invalid access point etc.
* detailed information is not available.
*/
alert("error");
}
}
}

RSSの解析処理

function UpdateContent(reqst) {
var d = null;
var el = document.getElementById("content");
 
document.getElementById("content").innerHTML = "Updating!";
 
var rss = null;
 
var html = "";
rss = reqst.responseXML.documentElement;
 
if (rss != null) {
var itemTitleNodes = rss.getElementsByTagName("title");
var itemLinkNodes = rss.getElementsByTagName("link");
var itemDescNodes = rss.getElementsByTagName("description");
 
var c=itemTitleNodes.length;
 
el.innerHTML="Displaying " + c + " items...";
 
if (c<=0) {
return;
};
 
if (c>4) c=3; // limit to four stories
 
for (var i = 0; i < c; i++) {
var itemLink, itemTitle, itemDesc;
 
if ((itemTitleNodes[i+2].childNodes[0] != null) &&
(itemLinkNodes[i+2].childNodes[0] != null) &&
(itemDescNodes[i+1].childNodes[0] != null)) {
 
itemTitle = itemTitleNodes[i+2].childNodes[0].nodeValue;
itemLink = itemLinkNodes[i+2].childNodes[0].nodeValue;
itemDesc = itemDescNodes[i+1].childNodes[0].nodeValue;
}
else {
itemTitle = "RSS feed missing";
itemLink = "???";
itemDesc = "RSS broken";
}
html = html + "<div class='item'><div class='linking'
onClick='widget.openURL(\"" + itemLink +
"\");'>"+itemTitle+"</div></br><div
class='description'>"+itemDesc+"</div></div></br>";
}
}
 
el.innerHTML = html;
html = null;
el = null;
req = null;
 
d = document.getElementById("lastupdate");
}
This page was last modified on 8 May 2013, at 00:00.
193 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×