×
Namespaces

Variants
Actions
Revision as of 03:04, 8 May 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Web Runtime Widgetsで自己更新機構を作る方法

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Compatibility
Platform(s):
Symbian
Article
Created: morisawafnj (09 Apr 2008)
Last edited: hamishwillee (08 May 2013)

原文(英語): How-to create self-updating WRT widgets

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

Contents

解説

S60 Web Runtime Widgets で更新操作を行う最も簡単な方法は、アプリケーションによりバージョンをチェックすることです。Widgetバンドル中の変数が現在のバージョンを示すため、サーバ側との比較により、それを確認することができます。この方法はPure JavaScript実装を使うので、プログラムの拡張やプラットフォームに依存した手法を必要としません。

コード例の設定について

以下の例では、サーバーのURLを http://myexample.versionservice.com:8888 と想定しています。サーバーは、versionタグつきXMLドキュメントを含んだバージョン情報のリクエストに対し、バージョン情報を返します。この例は、容易に拡張することができます。例.バージョン情報のレスポンスに、更新URLを含めること

コード例

/*
* version server url, and current version
*/
var versionURL = "http://myexample.versionservice.com:8888";
var currentVersion = 1;
 
var reqVersion = null;
 
/*
* called e.g. during app startup or once a day
*/
function checkForUpdate()
{
/*
* asynch XHR to server url
*/
reqV = new XMLHttpRequest();
reqV.onreadystatechange = checkVersion;
reqV.open("GET", versionURL, true);
reqV.send(null);
 
document.getElementById("updateDIV").innerHTML = "checking for updates";
}
 
/*
* parse response and check version
*/
function checkVersion()
{
if (reqV.readyState == 4)
{
if (reqV.status == 200)
{
/*
* little overhead here, one could use also string for version info
*/
var newVersion = reqV.responseText;
if (currentVersion != newVersion)
{
document.getElementById("updateDIV").innerHTML =
"<a href=\"http://www.taika.org/~jario/newversion.wgz\">
Download new version</a>";
}
else
{
document.getElementById("updateDIV").innerHTML =
"No new versions available";
}
}
else
{
alert( "connection error" );
}
}
}

メインHTMLの例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type='text/javascript' src="selfupdate.js"></script>
</head>
<body onload="checkForUpdate();">
 
<div id="updateDIV"></div>
 
</body>
</html>
This page was last modified on 8 May 2013, at 03:04.
61 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.

×