最近、
Yandexのインフォーマーを表示するというトピックに興味を持つようになりました。 Yandexの情報提供者自身が、サイトのウェブマスターが選択した都市の天気のみを表示します。 実際には、このような情報提供者にはほとんど意味がありません(前の記事で説明)。 したがって、訪問者のいる都市を特定し、必要な情報提供者を表示する必要があります。 トピックを研究する過程で
、MaxMindとCNGeoIPの
GeoLite Cityに加えて、IP-> Cityという通常の世界的なデータベースはないという結論に達しました。 ただし、GeoLite Cityデータベースは、Yandexサービスとの対話に
は適して
いません 。
したがって、私は
CNGeoIPで停止する
必要がありました 。 データベースのバージョンを購入し、IP訪問者が情報提供者の都市コードを取得するためのアルゴリズムを構築しました。 記述されたスクリプトは、
commontools.net /
geoip /
ya.w.jsで機能します。 都市はユーザーのIPによって決定され、Yandexデータベースと比較され、インフォーマーの都市と国のIDが次の形式で表示されます:
var yaCountry = 20; var yaCity = 26850; スクリプトは当然サーバー側で実行され、JSのIDのみを表示します。 そして、インフォーマーのあるページでは、
スクリプトsrc = "..."によって、ページのHTMLコードにスクリプトが含まれています。 次に、別の簡単なスクリプトがインフォーマーの呼び出しコードの変数を置換し、訪問者がいる都市の天気が写真に表示されます。 その下には、訪問者が別の都市を選択できるインフォーマー設定へのリンクがあり、情報はクッキーに保存されます。

そのため、作業の結果はベータ版の形式になります。これをテストしていただけると幸いです。 コード取得ページはこちらです:
http :
//commontools.net/geoip/ya.weather.get.html これは、インフォーマーコードを受信するためのページです。 コードを取得してサイトに固定する方法について説明します。
このサービスはまだベータテスト中ですが、コードを取得してサイトに投稿できます。
このサービスは引き続きオープンで、無料で、意図した用途で無料です。私のブログでインフォーマーがどのように働いているかを見ることができます。
PS好奇心のため。 commontools.netドメインは完全に補助的なものであり、これまでにサイトはありません。 自家消費および公共消費のためのサービスのみ。