blqs
06-07-2011, 12:42
Решил сделать гаджет погоды, отображающий HTML информер от "sinoptik.ua (http://sinoptik.ua/%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B5%D1%80%D1%8B?id=303010783)"
http://i.piccy.info/i5/22/78/1707822/img1.png
0. Создал Gadget.xml стандартного содержания.
<?xml version="1.0" encoding="utf-8" ?>
<gadget>
<name>Sinoptik.UA Weather</name>
<namespace>sinoptikua.informer.blqs.gadget</namespace>
<version>0.9</version>
<author name="blqs">
<logo src="" />
</author>
<copyright>2011.05.07 by blqs</copyright>
<description>Sinoptik.UA Weather. Sinoptik.UA HTML-Informer</description>
<icons>
<icon height="64" width="64" src="icon.png" />
</icons>
<hosts>
<host name="sidebar">
<base type="HTML" apiVersion="1.0.0" src="sinoptikua.informer.blqs.html" />
<permissions>Full</permissions>
<platform minPlatformVersion="1.0" />
<defaultImage src="icon.png" />
</host>
</hosts>
</gadget>
1. Создал sinoptikua.informer.blqs.html с HTML кодом:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;" />
<style type="text/css">
body
{
width: 260px;
height: 160px;
background-color: transparent;
}
</style>
</head>
<body marginheight="0" marginwidth="0" scrolling="no">
<iframe name="iframe" src ="iframe.html" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe>
</body>
</html>
2. Создал iframe.html который отображается в первом, как iframe (код информера с сайта):
<div id="SinoptikInformer" class="SinoptikInformer type1c1" style="display:none;width:240">
<div class="siHeader">
<div class="siLh">
<div class="siMh">
<a onmousedown="siClickCount();" href="http://sinoptik.ua/" target="_blank">Погода</a>
<a onmousedown="siClickCount();" class="siLogo" href="http://sinoptik.ua/" target="_blank">
<img alt="Прогноз погоды" src="http://informers.sinoptik.ua/img/t.gif" />
</a> <span id="siHeader"></span></div></div></div>
<div class="siBody">
<div class="siCity">
<div class="siCityName">
<a onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев" target="_blank">Погода в
<span>Киеве</span></a></div>
<div id="siCont0" class="siBodyContent"></div></div>
<div class="siLinks"><span><a onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев" target="_blank">на сегодня</a>
<a onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев/завтра" target="_blank">завтра</a>
<a onmousedown="siClickCount();" onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев/10-дней" target="_blank">10 дней</a></span>
<span>
<a onmousedown="siClickCount();" href="http://sinoptik.ua/украина" target="_blank">в других городах</a></span></div></div>
<div class="siFooter">
<div class="siLf">
<div class="siMf"></div></div></div></div>
<script type="text/javascript">var siCss=document.createElement("link");siCss.setAttribute("rel","stylesheet");siCss.setAttribute("type","text/css");siCss.setAttribute("href","http://informers.sinoptik.ua/css/informers.css");document.getElementsByTagName("head")[0].appendChild(siCss);function siClickCount(){var siCount=document.createElement("script");siCount.setAttribute("type","text/javascript");siCount.setAttribute("src","http://informers.sinoptik.ua/counter.php?lang=ru&rnd="+new Date().valueOf());document.getElementsByTagName("head")[0].appendChild(siCount);}function LoadInformer(data){document.getElementById("siHeader").innerHTML=data.date;for(var i=0;i<data.body.length;i++){if(data.body[i]!=null){document.getElementById("siCont"+i).innerHTML=data.body[i];}}document.getElementById("SinoptikInformer").style.display="block";}</script>
<script type="text/javascript" charset="UTF-8" src="http://informers.sinoptik.ua/js.php?type=1&cities=303010783&lang=ru"></script>
Делал специально, чтобы обновлять только iframe.
А тестировал на дописанных символах в iframe.html. В браузерах работает.
Описание проблемы:
1. Гаджет отображается нормально.
http://i.piccy.info/i5/22/78/1707822/img1.png
Просто не обновляется..
2.0. Попытки заставить его обновляться стандартными методами.
Видимо в целях безопасности обновление запрещено, или отображается "слепок".
2.1. JavaScript обновления iframe, работать в запущенном гаджете и не думает.
<script type=text/javascript>
function refresh()
{
document.all.iframe.src = document.all.iframe.src;
}
window.setInterval("refresh()",60000);
</script>
2.2. Обновление через meta refresh, также не дает результатов.
<meta http-equiv="Refresh" content="60" />
3. Подскажите как заставить гаджет обновляться.
4. Если таким образом это невозможно сделать, то может запихнуть html код в swf, если это возможно?
Если да, то подскажите как, или помогите.
Надеюсь объяснил развернуто и доступно :flag:
http://i.piccy.info/i5/22/78/1707822/img1.png
0. Создал Gadget.xml стандартного содержания.
<?xml version="1.0" encoding="utf-8" ?>
<gadget>
<name>Sinoptik.UA Weather</name>
<namespace>sinoptikua.informer.blqs.gadget</namespace>
<version>0.9</version>
<author name="blqs">
<logo src="" />
</author>
<copyright>2011.05.07 by blqs</copyright>
<description>Sinoptik.UA Weather. Sinoptik.UA HTML-Informer</description>
<icons>
<icon height="64" width="64" src="icon.png" />
</icons>
<hosts>
<host name="sidebar">
<base type="HTML" apiVersion="1.0.0" src="sinoptikua.informer.blqs.html" />
<permissions>Full</permissions>
<platform minPlatformVersion="1.0" />
<defaultImage src="icon.png" />
</host>
</hosts>
</gadget>
1. Создал sinoptikua.informer.blqs.html с HTML кодом:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;" />
<style type="text/css">
body
{
width: 260px;
height: 160px;
background-color: transparent;
}
</style>
</head>
<body marginheight="0" marginwidth="0" scrolling="no">
<iframe name="iframe" src ="iframe.html" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe>
</body>
</html>
2. Создал iframe.html который отображается в первом, как iframe (код информера с сайта):
<div id="SinoptikInformer" class="SinoptikInformer type1c1" style="display:none;width:240">
<div class="siHeader">
<div class="siLh">
<div class="siMh">
<a onmousedown="siClickCount();" href="http://sinoptik.ua/" target="_blank">Погода</a>
<a onmousedown="siClickCount();" class="siLogo" href="http://sinoptik.ua/" target="_blank">
<img alt="Прогноз погоды" src="http://informers.sinoptik.ua/img/t.gif" />
</a> <span id="siHeader"></span></div></div></div>
<div class="siBody">
<div class="siCity">
<div class="siCityName">
<a onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев" target="_blank">Погода в
<span>Киеве</span></a></div>
<div id="siCont0" class="siBodyContent"></div></div>
<div class="siLinks"><span><a onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев" target="_blank">на сегодня</a>
<a onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев/завтра" target="_blank">завтра</a>
<a onmousedown="siClickCount();" onmousedown="siClickCount();" href="http://sinoptik.ua/погода-киев/10-дней" target="_blank">10 дней</a></span>
<span>
<a onmousedown="siClickCount();" href="http://sinoptik.ua/украина" target="_blank">в других городах</a></span></div></div>
<div class="siFooter">
<div class="siLf">
<div class="siMf"></div></div></div></div>
<script type="text/javascript">var siCss=document.createElement("link");siCss.setAttribute("rel","stylesheet");siCss.setAttribute("type","text/css");siCss.setAttribute("href","http://informers.sinoptik.ua/css/informers.css");document.getElementsByTagName("head")[0].appendChild(siCss);function siClickCount(){var siCount=document.createElement("script");siCount.setAttribute("type","text/javascript");siCount.setAttribute("src","http://informers.sinoptik.ua/counter.php?lang=ru&rnd="+new Date().valueOf());document.getElementsByTagName("head")[0].appendChild(siCount);}function LoadInformer(data){document.getElementById("siHeader").innerHTML=data.date;for(var i=0;i<data.body.length;i++){if(data.body[i]!=null){document.getElementById("siCont"+i).innerHTML=data.body[i];}}document.getElementById("SinoptikInformer").style.display="block";}</script>
<script type="text/javascript" charset="UTF-8" src="http://informers.sinoptik.ua/js.php?type=1&cities=303010783&lang=ru"></script>
Делал специально, чтобы обновлять только iframe.
А тестировал на дописанных символах в iframe.html. В браузерах работает.
Описание проблемы:
1. Гаджет отображается нормально.
http://i.piccy.info/i5/22/78/1707822/img1.png
Просто не обновляется..
2.0. Попытки заставить его обновляться стандартными методами.
Видимо в целях безопасности обновление запрещено, или отображается "слепок".
2.1. JavaScript обновления iframe, работать в запущенном гаджете и не думает.
<script type=text/javascript>
function refresh()
{
document.all.iframe.src = document.all.iframe.src;
}
window.setInterval("refresh()",60000);
</script>
2.2. Обновление через meta refresh, также не дает результатов.
<meta http-equiv="Refresh" content="60" />
3. Подскажите как заставить гаджет обновляться.
4. Если таким образом это невозможно сделать, то может запихнуть html код в swf, если это возможно?
Если да, то подскажите как, или помогите.
Надеюсь объяснил развернуто и доступно :flag: