PDA

Показать полную графическую версию : Гаджет Windows 7 с автообновляемым HTML информером погоды, или другим кодом.


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&amp;cities=303010783&amp;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:

blqs
20-07-2011, 08:08
Что, никто не подскажет? :cry:

Delirium
20-07-2011, 08:29
Думаю, эта тема будет более уместна в ветке Windows 7, переношу.

rsod
20-07-2011, 12:36
А зачем обновлять весь фрейм? можно же обновлять только изображение изменяя его url

g0dl1ke
15-11-2011, 10:02
помести в sinoptikua.informer.blqs.html

<head> <script type='text/javascript'> onload=function(){ setInterval(function(){location.href.reload()},1000); } </script> </head>

g0dl1ke
19-12-2011, 15:30
<html>
<head>
<script type='text/javascript'>
onload=function(){
setInterval(function(){location.reload()},10800000);
}
</script>
</head>

MrLOLs
04-01-2012, 21:36
А где сам гаджет скачать?

Ruslaner
17-02-2012, 11:37
Отличная идея! Это первый гаджет для Sinoptik.ua который я нашёл в инете. Вот только как его скачать? Или он ещё не готов?
Очень хочется его получить)

beve
14-03-2012, 00:20
Очень хочется его получить) »
Из данных, что оставил автор темы, применив совет от g0dl1ke, можете сделать сами, также можете настроить внешний вид такой, как вам нравится. Вот, что вышло у меня (пример сделан для г.Киев.)
Для токо чтобы изменить город на ваш, вы должны на сайте sinoptik.ua получить информер для вашего города.
Дальше распаковываете прилагаемый к моему сообщению архив, и открываете находящийся в нем гаджет - 7z архиватором, извлекаете файл iframe.html, и редактируете его (открыв в блокноте, например) изменив некоторые данные, а точнее вам нужно будет заменить id вашего города, также название г.Киев на ваш город и ссылку-переход на сайт. Походу разберетесь. После этого сохранить изменение и кинуть отредактированный iframe.html в открытый в 7z архиваторе архив гаджета.
Дальше устанавливаете и пользуетесь.
В моем примере, я оставил возможность при клике по надписи Погода в Киеве перейти в браузере на сайт погоды для отображения более широкой информации, остальные ссылки я убрал, как ненужные.
P.S. Интервал обновления данных о погоде в гаджете - раз в час.
http://s019.radikal.ru/i616/1203/46/d76b9d74e18et.jpg (http://radikal.ru/F/s019.radikal.ru/i616/1203/46/d76b9d74e18e.jpg.html)

Dreame
05-04-2012, 17:41
beve огромное спасибо за гаджет !!

beve
06-07-2012, 13:56
У меня адсл интернет, но иногда бывает, что Windows загружается быстрее чем устанавливается интернет-соединение, в результате в гаджете было пусто, приходилось перезапускать программу Sidebar.exe. Путем несложных манипуляций удалось добавить в гаджет кнопку перезапуска только этого гаджета, что оказалось весьма полезным.
Но скриншоте сама кнопка, а в прикрепленном архиве измененный гаджет:
http://s017.radikal.ru/i408/1207/cb/cbf9537b3d1f.jpg (http://i011.radikal.ru/1207/d3/f1ba78b5bff6.png)

gegistrator
26-02-2013, 13:28
хороший гаджет. только несколько шире стандартных, и я не разобрался как поменять город. смотреть могу только погоду в Киеве. жаль...

berlser
27-03-2013, 21:29
beve, Спасибо, хороший гаджет. Переделал на Одессу.

stuermer01
15-05-2013, 15:49
Добрый день,

я переделал этот гаджет под курс валют Форекса, заменив iframe.html на соответствующий информер и прописав в sinoptikua.informer.html и sinoptikua.informer.blqs.html размеры фрейма из iframe.html:

width: 600px;
height: 286px;


После установки гаджет показывает только четверть графика. Подскажите, где подкрутить, чтоб отображался весь график. Под ХР информер тоже отображался сначала на четверть, но были полосы прокрутки и возможность мышью изменить размер - растянуть.

beve
16-05-2013, 01:54
После установки гаджет показывает только четверть графика. Подскажите, где подкрутить, чтоб отображался весь график.
Сам не сильно разбираюсь в гаджетах, но методом тестирования вроде удалось. Дальше сами уже доделаете.

stuermer01
19-05-2013, 12:50
спасибо,
теперь, тоже методом тыка, я прикрутил кнопку Refresh из синоптика к этому графику, она работает, но отображается в левом нижнем углу под графиком (видна, если открыть iframe браузером). Подскажите, как ее переместить в левый верхний угол на графике, под надписью Форекс.

beve
19-05-2013, 13:27
Подскажите, как ее переместить в левый верхний угол на графике, под надписью Форекс. »
Содержимое файла iframe.html:
<div id="pf3538290" style="background:; width:600px; height:286px; border: 1x solid #808080; color:#84057A; text-decoration:none; text-align:left; top; padding-left: 3px; overflow: hidden; font-style:normal; font-variant:normal; font-weight:bold; font-size:9px; font-family:Verdana, sans-serif;"><a href="http://www.forexpf.ru/" title="Forex: EUR/USD" target="_blank" style="color:#808080;text-decoration:none; ">Forex: EUR/USD</a><div id="Refresh"><a onmousedown="location.reload()"><img src="Refresh.png"></a></div></div><script type="text/javascript" charset="cp1251" src="http://forexpf.ru/_informer_/informer/6708502.php"></script>

Eugene_1985
08-12-2013, 12:22
Ребята!!!! По вашей аналогии хочу создать гаджет на основе кода информера сайта meteoab.ru, но у меня не получается может поможете.
код такой
<a href="http://www.meteoab.ru/index.php?option=com_content&task=view&id=4" target="_blank" title="Прогноз погоды по Алтайскому краю и Барнаулу"><img src="http://www.meteoab.ru/pogoda.php" width="100" height="100" border="0"></a>




© OSzone.net 2001-2012