1

デバイス上でローカルに実行されるページがあり、AJAXまたは通常のJavaScriptを使用して、デバイスがインターネットに接続されているかどうか、および特定のサイトが稼働しているかどうかを確認したいと思います。

さらに、AJAXを介してRSSフィードのエントリ数をカウントする方法を理解しようとしていますが、これまでRSSを中心にプログラミングしたことはありません。ただし、これはそれほど優先事項ではありません。

4

3 に答える 3

3

Ajaxとは異なり、スクリプトと画像の読み込みは同一生成元ポリシーの対象ではないため、クロスドメインでそれらの存在を照会できます(ただし、内容を読み取ることはできません)。サイト上の特定の画像を知っている場合は、のonloadイベントハンドラーを使用してnew Image、サイトが稼働しているかどうかをテストできます。

var i = new Image();
i.onload = function() { alert("site is up!") }
i.onerror = function() { alert("site is not up!") }
i.src = "/favicon.ico";

/favicon.ico古いIEのファビコン機能に必要なため、多数の主要なサイトにあります。Webのすべてのサイトにファビコンがあるわけではありませんが(実際、Web上のすべてのサイトにファビコンがあるわけではありません)、Google、Wikipedia、StackOverflowなどの主要なサイトで機能します。

/favicon.icoクロスサイトサポートには便利ですが、特定の1つのサイトのみをターゲットにする場合は、そのサイトで画像を見つけて、その存在を照会するだけです。

于 2012-08-06T19:36:33.843 に答える
1

クロスサイトAjaxは、セキュリティ上の懸念から禁止されています。いくつかの回避策は、greasemonkey / usernames(これが個人的な使用のみの場合)、またはflashやjavaなどのプラグインを使用することです。

于 2012-08-06T19:23:03.233 に答える
0

の基本的なサポートがあります

navigator.online
//Events
window.onOnline
window.onOffline

デスクトップブラウザとAndroidでのサポート。これはあなたの質問に完全には答えないかもしれませんが、とにかく共有する価値があると思いました:)

于 2012-08-06T19:54:56.403 に答える