iframe .contents找不到内容

时间:2013-07-30 13:22:45

标签: javascript jquery

我正在尝试将网页加载为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节点呈现为desierd,当我添加内容时,似乎找不到任何内容

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

也不起作用。

1 个答案:

答案 0 :(得分:0)

由于Same origin policy您无法与域外的内容进行互动。

如果您的唯一目的是加载页面以从中获取值(即实际上不显示IFrame),您可以简单地$.get() Eniro url获取原始HTML响应,然后从那里解析它。我认为应该可以使用jQuery,但可能需要一些修补:)

<强>更新 正如已经指出的那样,相同的原始策略也适用于我的解决方案(每天都学习新东西!),但是应该完全可以在服务器上应用解决方案