1

我正在尝试href从我不是管理员的外部站点获取元素。

这个代码href是这样的:

<a href="?form=397&amp&id=45950&amp&act=act">Action</a>

我只想得到一个:'?form=397&amp&id=45950&amp&act=act'.

我怎样才能做到这一点?也许使用 JQuery?

4

2 回答 2

2

由于跨域浏览器限制,您将遇到问题。如果您想使用 JS,可以使用一个 ajax 插件:

https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js

然后只需使用:

$.ajax({
    url: 'http://www.somewebsite.com',
    type: 'GET',
    success: function(res) {
        // your code here
    }
});
于 2013-08-11T00:54:15.487 回答
0

好吧,既然你编辑了你的答案说:

我怎样才能做到这一点?例如。使用 jQuery。它只是例如

由于使用 jquery 只是例如,这里是一个非 jquery 解决方案:

$ curl 'http://pastebin.com/raw.php?i=hDPyZ2Ne' |sed -n 's/.*href="\([^"]*\).*/\1/p'

(将该网址替换为您网站的网址)

该行将在 *nix 终端上执行。那将输出

?form=397&amp&id=45950&amp&act=act

现在,用jquery完全 不可能吗?你的意思是,是的,但如果你使用phantomjs,你可以在页面 DOM 上执行你自己的 js。

这是一个使用 jquery 来完成的 phantomjs 脚本:

var page = require('webpage').create(); 
var url = 'http://...put your url here';      
page.open(url, function() {
    page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", function() {
        var href = page.evaluate(function() {
            return $('a').attr('href');
        });
        console.log(href);
        phantom.exit();
    });
});

编辑前端人给你的方法也很好。

于 2013-08-11T00:27:34.280 回答