Como criar auto-atualização para Widgets WRT
Dados do artigo
Compatibilidade
Plataforma(s): Web Runtime em S60 3ª Edição, Feature Pack 2
Artigo
Tradução:
Originado de How-to create self-updating WRT widgets
Por maiconherverton
Última alteração feita por lpvalente
em 18 Dec 2011
Contents |
Teoria
Para Widgets S60 WRT a maneira mais fácil de fazer uma auto-atualização é ter pedir para fazer a verificação de versão, por si só. Uma variável no pacote do widget pode indicar qual versão atual pode ser verificada com a interface do servidor. Esta abordagem não requer nenhuma extensão ou plataforma, é a aplicação JavaScript pura.
Exemplo de configuração
Seguindo o exemplo pressuponha que você tenha em execução um script do lado do servidor no endereço http://myexample.versionservice.com:8888. O servidor responde ao pedido com a versão do documento XML, incluindo a tag da versão. Este exemplo pode ser facilmente estendido por exemplo, atualização para incluir URL em mensagem de resposta daversão.
Example code
/*
* versão url versão do servidor, e atual
*/
var versionURL = "http://myexample.versionservice.com:8888";
var currentVersion = 1;
var reqV = null;
/*
* chamado por exemplo, durante a inicialização do aplicativo ou uma vez por dia
*/
function checkForUpdate()
{
/*
* url asynch XHR para servidor
*/
reqV = new XMLHttpRequest();
reqV.onreadystatechange = checkVersion;
reqV.open("GET", versionURL, true);
reqV.send(null);
document.getElementById("updateDIV").innerHTML = "checking for updates";
}
/*
* resposta para analisar e verificar a versão
*/
function checkVersion()
{
if (reqV.readyState == 4)
{
if (reqV.status == 200)
{
/*
* sobrecarga, poderia usar também uma sequência de caracteres para informação da versão
*/
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" );
}
}
}
Exemplo do main em 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>

