1

example.html があり、その中に次のようなコードがあるとしましょう

<iframe src="x.com" id="x"></iframe>

x.com から、すべてを取得したい

<div class="content">...</div> 

example.html に

<div class="xCodes">ONTO HERE</div>

そこで、x.com 内の要素を表示しようとしたところexample.html、クロス ドメインの問題でアクセスできないと聞きました。

HTMLタグをから取得する別の方法があるかどうか疑問に思っていx.htmlましたexample.html

たぶん使わずに<iframe />??

4

2 に答える 2

2

出典: http://james.padolsey.com/javascript/cross-domain-requests-with-jquery/

$('.xCodes').load('http://x.com/x.html');

また

$.ajax({
    url: 'http://x.com/x.html',
    type: 'GET',
    success: function(res) {
        var data = $(res.responseText).find('.content').text();
        $('.xCodes').html(data);
    }
});
于 2012-07-25T17:52:01.003 に答える
0

私が正しく理解している場合は、あるサイトの DIV からコンテンツをリッピングし、別のサイトに表示したいと考えています。これにはいくつかの問題がありますが、私は技術的な側面に焦点を当て、コンテンツをプルすることであなたが誠実に行動していると仮定します.

ここで直面している本当の問題は、まだ読み込まれていないページの DOM 要素にアクセスできないことです。そのため、ページに読み込まれているはずの要素にアクセスして情報を引き出すことができるように、ブラウザにそのページのデータを読み込むように指示する必要があります。JQuery には、.load() ( http://api.jquery.com/load/ ) と呼ばれる便利な小さなメソッドがあります。

ただし、重要な補足事項として、最新のブラウザはすべて、次のような方法でのクロスサイト アクセスを禁止しているため、これを行うことはできません。

JQuery .load() ページから:

追記事項: ブラウザのセキュリティ制限により、ほとんどの「Ajax」リクエストは同一オリジン ポリシーの対象となります。要求は、別のドメイン、サブドメイン、またはプロトコルからデータを正常に取得できません。

そしてチェックしてください:

http://en.wikipedia.org/wiki/Same_origin_policy

もう 1 つ警告します。他のサイトのコードを制御しないと、重大なセキュリティ上の問題にさらされる可能性があるため、他のサイトを制御できる場合、または何らかの理由でそのサイトを完全に信頼している場合にのみこれを行ってください。または、可能であれば、データを取得しようとしているサイト/サービスの API を使用するようにしてください。

于 2012-07-25T17:52:30.573 に答える