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 回答