php 跨域获取页面内容,跨域加载脚本或页面获取内容

$.extend({

/**

* 跨域装载JS脚本,获取页面窗口对象,从而获得DOM内容

* @param string url 需要读取的脚本地址

* @param function callback 回调函数,参数为载入后的窗口win对象

* @param string charset 指定字符编码

*/

'crossGetScript':function(url,callback,charset){

if($.isEmptyObject(url) || !$.isFunction(callback)){

return;

}

//初始化返回

if(charset===undefined){

charset = 'UTF-8';

}

var id = 'i_'+new Date().getTime();

//装载url数据

$('',{

'id':id,

'srcdoc':'',

'style':'display:none',

'load':function(){

var win = $(this)[0].contentWindow;

callback(win);

}

}).appendTo('body');

//去除IFRAME

window.setTimeout("$('#"+id+"').remove();",1000);

},

/**

* 跨域装载页面,获取页面的win窗口对象

* @param string url

* @param function callback

* @param string charset

*/

'crossGetHtml':function(url,callback,charset){

if($.isEmptyObject(url) || !$.isFunction(callback)){

return;

}

//初始化返回

if(charset===undefined){

charset = 'UTF-8';

}

var id = 'i_'+new Date().getTime();

//装载url数据

$('',{

'id':id,

'src':url,

'style':'display:none',

'load':function(){

var win = $(this)[0].contentWindow;

callback(win);

}

}).appendTo('body');

//去除IFRAME

window.setTimeout("$('#"+id+"').remove();",1000);

}

});

基本思路就是用iframe装载你需要的页面,然后从页面获取你所需要的任何数据,包括页面或者DOM对象。甚至可以用crossGetScript函数跨域动态加载JS脚本。再在回调函数里面通过操作iframe的window对象,可以获取加载脚本的函数或者变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值