0

ページを iframe として読み込んで、そこから情報を抽出しようとしています。

function calleniro(who, where, announcementID){
    var url = 'https://personer.eniro.se/resultat/'+who+'/'+where;
    var frameid=announcementID.substr(0,7)
    var iframe=$('<iframe />', {
        src: url,
        id: frameid
    }).appendTo('body');
    iframe.load(function (){

        var frame = $('#'+frameid).contents;
        console.log(frame)
    });
}

console.log($(frameid))iframe-nodeをdesierdとしてレンダリングします。コンテンツを追加すると、何も見つからないようです

var frame = $(frameid).contents().find('body'); 

どちらも機能しません。

4

1 に答える 1

0

同一オリジン ポリシーにより、ドメイン外のコンテンツとやり取りすることはできません。

ページを読み込んで値を取得することが唯一の目的である場合 (つまり、実際に IFrame を表示しない場合)、単純$.get()に Eniro の URL を使用して生の HTML 応答を取得し、そこから解析することができます。それはjQueryで可能だと思いますが、いじくり回す必要があるかもしれません:)

更新 指摘されているように、同じオリジン ポリシーが私のソリューションにも適用されます (毎日何か新しいことを学ぶ!) が、代わりにサーバーでソリューションを適用することは完全に可能であるはずです。

于 2013-07-30T13:37:24.963 に答える