JavaScript はYahooから RSS XML フィードをロードできますか?
クライアント側の JS はサードパーティのドメインにアクセスできますか?
JavaScript はYahooから RSS XML フィードをロードできますか?
クライアント側の JS はサードパーティのドメインにアクセスできますか?
私のブログ投稿で概説されているテクニックを使用できます。
次のような yql ステートメントを使用して、XML データ テーブルをクエリします。
select * from xml
where url="http://path/to/xml
次に、html にスクリプト タグを追加します (document.createElement('script') で実行できます)。 &format=json&callback={your function here} ここで、{your yql here} は、yql ステートメントの URI エンコード バージョンに置き換えられます。
これを行う簡単な方法は、ページが存在するサーバーを介してリクエストをプロキシすることです。手順は次のとおりです。
IE 8 および FF 3.1 (不明) では、特殊なクロス サイト コールを介してこれらのリクエストを行うことができますが、最終世代のブラウザでは依然として問題が発生します。見る:
http://dannythorpe.com/2009/01/15/ie8-cross-domain-request-support-demo/ http://ejohn.org/blog/cross-site-xmlhttprequest/ FF 3.0 では機能が制限されており、不明3.1で復活するなら
ただし、上記の手順は、ブラウザーの CSS セキュリティに違反しないことが保証されていますが、サーバーでの遅延と余分なハードウェア負荷が発生します。
Google Feed APIを使用して、任意のドメイン/サーバーから JavaScript で RSS を読み込むことができます。単なるプロキシではなく、元のサーバーにアクセスするのではなく、実際に Google キャッシュから RSS コンテンツを提供します。これは、Slashdot のトラフィック サージを処理できない小規模なサーバーにとって命の恩人になる可能性があります。
数年前の Silverlight に関する記事で、クロスサイト RSS アクセスに Feed API を使用しました。
直接ではありません。リクエストをプロキシするというDanaの提案を使用するか、DOMに挿入するスクリプトタグによってリクエストされたカスタムコールバック関数で返されたJSONオブジェクトを本質的にラップするJSONPと呼ばれるメソッドを調べることができます。ほとんどのAPIプロバイダーはこれをサポートしています(YahooのAPIを含む)。