将其他页面中的内容作为字符串加载到变量中

时间:2014-12-29 17:56:22

标签: javascript jquery

是否可以将变量中另一个页面的div的HTML作为字符串,因此我可以运行正则表达式搜索来查找特定的数字?

2 个答案:

答案 0 :(得分:0)

如果您正在从同一个域中加载内容,那么在他的评论中链接的@lawrence溢出答案就可以解决问题:Load content from external page into another page using Ajax/jQuery

JS with jQuery:

$(document).ready(function() {
    $("#main").load('sourcePage.html #content');
});

否则,您需要使用服务器端技术。这是代理另一个站点的Node.js服务器:

JS(Node and Express):

var request=require('request');
var express = require('express');
var app = express();

//Put the source URL here:
var URL='http://www.nytimes.com';

app.get('/', function (req, res) {
    res.type('.html');
    request(URL,function(err,response,body){
        res.send(body);
    });
});

var server = app.listen(3000, function () {
  var host = server.address().address;
  var port = server.address().port;
  console.log('listening at http://%s:%s', host, port);
});

答案 1 :(得分:0)

如果其他网页 位于您自己的域中:
  jsBin demo

$('<div />').load("otherpage.html", function(data){
  var num = /\d+/.exec( $(this).find("#number").text() );
  console.log( num ); // 45
});

注意:以上假设所需的数字位于#number元素内的某处。正则表达式/\d+/用于获取该元素的所有数字。


如果页面不在您的域中:
jQuery load external site page

您首先需要使用PHP file_get_contents获取该页面内容。在您的服务器上存在所需内容之后,您将不会再遇到安全问题,您可以使用抓取的内容回复AJAX。