0

別の Web サイト (自分のドメインではありません) のビュー メンバー画面を作成しています。クラスに基づいて、このWebサイトから特定のものを取得しようとしています。たとえば、.avatar クラスを持つ人のアバターを取得しようとしています。私が試してみました:

$('#accountPic').load('www.theWebsite.com .avatar');

画像リンクを取得しようとしましたが、これは機能しません。別の Web サイトからクラスのコンテンツを取得して、独自に表示する方法はありますか?

4

3 に答える 3

2

Same Origin Policyにより、これはクライアント側の JavaScript では機能しません。情報を取得しようとしているサイトに外部アクセス用の API がない場合、回避策は、PHP/ASP.Net などを使用して HTML サーバー側を取得し、AJAX 経由で要求することです。

于 2013-08-13T13:08:11.457 に答える
0

ターゲット ホストがクロス オリジン アクセスを提供している場合は、次のように実行できます。

$.ajax({ 
    url: 'http://www.theWebsite.com', 
    complete: function(jqXHR) { 
        var doc = $(jqXHR.responseText); 
        var avatar = doc.find('.avatar'); 
        // ...
    } 
}); 
于 2013-08-13T13:17:29.680 に答える
0

最初のステップは、外部サイトの完全な HTML ドキュメントを取得することです。これだけでは、解決できない問題に直面する可能性が非常に高くなります (ブラウザーのセキュリティ制限のため)。

セキュリティ上の問題である理由の例: somebank.com のホームページに「おかえりなさい、ジョナサン T. クエリ! 現在の残高は 4000 ドルです。」そうすれば、他のサイトがそのテキストを取得して、どこにあるかを知っている人に送信できます。

thewebsite.com に情報を取得するための開発者 API がある場合は、それを使用できます。Web サイト間でアバターを共有することが、OpenID プロジェクトの現実的な目標であることは知っています。そうでない場合、あなたの問題は解決できない可能性があると思います。

于 2013-08-13T13:06:42.683 に答える