在iframe中显示来自外部页面的具有特定ID的div

时间:2013-11-21 10:49:07

标签: javascript iframe embed

我想在我的网站上的iframe中显示ID =“example”的某个div的内容,是否有可能,怎么办呢?我无法控制外部页面,只能在我的网站上。我从该外部页面得知的唯一一件事是我想在我的网站上显示的div的ID ....也许你有一个小提琴的例子

2 个答案:

答案 0 :(得分:2)

有许多可能性来构建它。 (服务器或客户端)。

其中一个是使用NodeJS作为网络爬虫,http://net.tutsplus.com/tutorials/javascript-ajax/how-to-scrape-web-pages-with-node-js-and-jquery/

这是一个例子,使用NodeJS with express和cheerio(用于Jquery操作):

var url = 'YOUR_URL';

function getContentJSON(body) {
    var cheerio = require('cheerio');
    var $ = cheerio.load(body);
    var content = $('div#ID').text().trim();    
    var result = {"content": content}
    return JSON.stringify(result);
}

function requestPage(url, res) {
    var request = require('request');
    request(url, function (error, response, body) {
      if (!error && response.statusCode == 200) {
        var json = getContentJSON(body);
        res.send(statusCodes.OK, json);
      }
    });
}

exports.get = function(request, response) {
    requestPage(url, response);
};

答案 1 :(得分:1)

如果我理解正确,您只想在您的网站上显示div。

据我所知,由于浏览器的限制,这是不可能的。如果您只是将其加载到iframe中,您将无法操纵该iframe中内容的DOM。您可以尝试看看是否可以操纵滚动条,但我不知道是否可行或者是否适用相同的限制。

另一种选择是使用AJAX加载外部页面。但这将是一个跨域请求,要求外部网站允许来自您的域的CORS请求。这种可能性极小。您可以在Web服务器上使用代理来解决此问题。

简而言之:我不认为使用标准的javascript是可行的。然而,它可以使用服务器端代理来完成。