GisMeteoガジェットの修正

多くの人が既に知っているように、最近Gismeteo.ruはそのプロジェクトinformer.gismeteo.ruを閉じました 。 これらのイベントの結果、XML形式での以前の天気のエクスポートは機能しなくなりました。 ただし、Webマスターだけでなく、GisMeteoガジェットをインストールした一般ユーザーも被害を受けました。 最近、彼らはそのような悲しい写真を見ました

画像
疲れるまで見ました。 ただの空き時間であることが判明したので、修正を試みることにしました。

Gismeteo.uaは古い方法でXMLをレンダリングしていることが判明しました(少なくとも今のところ)。 これを使うことにしました。

順番に:

1.まず、 gallery.live.com / liveItemDetail.aspx?li = 7873de84-58f6-4842-a8f9-466461a2040eからガジェットをダウンロードします

2.ロードしたGisMeteo_black.gadgetの名前をGisMeteo_black.gadget .zipに変更し 、解凍します。

3.必要なのは、jsフォルダーのコンテンツです。 まず、js \ weatherData.jsに移動し、行12を変更します
req.open( "GET" , "http://informer.gismeteo. ru /xml/" +location+ "_1.xml" , false );


req.open( "GET" , "http://informer.gismeteo. ua /xml/" +location+ "_1.xml" , false );

それはすべてのように思えますが、そうではありません。 事実、デフォルトではガジェットはサンクトペテルブルク用に構成されています(ラッキーだった)が、残りはもう少し苦しむ必要があるだろう。

4.最上部のjs \ weather.jsファイルには、デフォルト設定があります。

var location= "26063" ;
var locationName= "-" ;

最も簡単な選択肢は、そこに都市に入ることですが、待ち伏せがあります。 行25 js \ settings.jsからわかるように

req.open( "GET" , "http://bar.gismeteo.ru/gmbartlist.xml" , false );

都市のリストはアクセスできないURLからロードされます。 常にGoogleキャッシュとして保存:)復元された都市のリストは、ここでgismeteo.googlecode.com/svn/trunk/gmbartlist.xmlから入手できます

5. 25行目のjs \ settings.jsを置き換えるだけで十分です。

req.open( "GET" , "http://bar.gismeteo.ru/gmbartlist.xml" , false );


req.open( "GET" , "http://gismeteo.googlecode.com/svn/trunk/gmbartlist.xml" , false );


6. zipに戻し、GisMeteo_black.gadgetに名前を変更し、設定し、設定で都市を選択します(設定ダイアログがすぐに開かないため、jsがxmlを解析するまで少し待つ必要があります)。

画像

PSワーキングガジェットはこちらからダウンロードできます

* This source code was highlighted with Source Code Highlighter .


upd:現在、xmlはgismeteo.uaからも利用できません
upd2:xmlがgismeteo.ruから利用可能になりました

Source: https://habr.com/ru/post/J63793/


All Articles