1

Coda を使用しており、Javascript/Jquery を使用して nfl の html を統計ページ (http://www.nfl.com/stats/player) にロードし、余分な html をすべて削除するプログラムを作成しようとしています。プレイヤーとその統計のいくつかのリストが生成されます。

$('#container').load('http://www.nfl.com/stats/player') を使用してみました。

これは Coda では問題なく動作しますが、思い通りに html を解析できません。

Google chromeでエラーが発生します

XMLHttpRequest cannot load http://www.nfl.com/stats/player. Origin null is not 
allowed by Access-Control-Allow-Origin.

私が理解していることから、これはすべてのブラウザーに組み込まれているセキュリティ機能です。この問題の回避策はありますか? 別のタイプのリクエストを使用できますか?

このタイプのリクエストには JSONP を使用する必要があることは理解していますが、nfl にこれを可能にする API があるとは思えません。

このような質問が投げかけられるのを見てきましたが、本当に良い確かな答えをまだ誰も与えていないと思います.

$.getクロスドメイン HTML とそれを解析する簡単な方法があるかどうか疑問に思っている人がまだたくさんいると思います。

4

1 に答える 1

3

サイトのドメイン外のスクリプトがスクリプトにアクセスする XSS (クロス サイト スクリプティング) に使用できるため、これを行うことは許可されていません。つまり、この方法で Cookie 情報などを取得できます。

このサーバー側で行う必要があります。php を使用している場合は、使用する$content = file_get_contents('http://nfl.com/stats/player');か、必要に応じて curl を使用して実行できます。

それ以外の場合、合法的な方法はAPIを使用することですが、指摘したように、それはあなたの場合のオプションではありません.

于 2012-08-21T15:32:04.680 に答える