优内建站网,专业建站,企业建站,免费建站,智能建站,个人建站!
主营企业建站,seo优化,手机网站,微信网站开发等业务!>> 繁体中文
用户名: 密 码: 验证码:    
企业建站,专业建站,模板建站,智能建站
 您现在的位置:首页 >> Javascript教程 >> 详细内容>>        【字体:  】【颜色: 绿

Javascript使用CSS异步跨域获取数据

在百度搜索关于“Javascript使用CSS异步跨域获取数据”的内容

在谷歌搜索关于“Javascript使用CSS异步跨域获取数据”的内容

买空间、服务器就上威客主机网(VK163.COM) 虚拟主机评测+IDC导航=威客主机之家 标志设计
[内容提要] 这是个非常“猥琐”的异步获取数据的方法,原理是通过动态载入一段CSS,然后解析其中的字段提取数据(DEMO)。  先来说说它的优点。首先是跨域,数据获取的实质其实就是载入一段CSS。其次避免了类似JSONP的跨站脚本注入攻击。  然后考虑下可能会出现的问题。首先是通过ra...

作者: 优内科技  来源: 优内科技  驻站日期:2008/12/30 【 加入收藏 】 【 打印此页 】 【 关闭

这是个非常“猥琐”的异步获取数据的方法,原理是通过动态载入一段 CSS,然后解析其中的字段提取数据(DEMO)。

  先来说说它的优点。首先是跨域,数据获取的实质其实就是载入一段 CSS 。其次避免了类似 JSONP 的跨站脚本注入攻击。

  然后考虑下可能会出现的问题。首先是通过 rawurlencode 编码过的数据容量会大很多,而且不可读。

  其次,如果使用不当可能会影响页面渲染,看作者的 Javascript 代码中加入了段

  e.setAttribute("media", "print, csshttprequest");很有意思。还有就是使用

  @import url(about:chr:data);真的让人感觉太太“猥琐”了。

  原官方有个 Python 编写的 Encoder 实现,我顺便将其成了 PHP ,下面是相应的代码

function css_request_encode($str) {
  $prefix = 'about:chr:';
  $length = 2000 - strlen($prefix); // Internet Explorer 2KB URI limit
  for ($i = 0, $encode = ''; $slice = substr($str, $i * $length, $length); $i++) {
    $encode .= sprintf("@import url('$prefix%s');n", rawurlencode($slice));
  }
  return $encode;
}

添加到QQ书签 百度收藏 订阅到抓虾 添加到鲜果  新浪ViVi  365Key网摘  天极网摘  我摘  和讯网摘  yahoo  收藏到收客网  Digbuzz我挖网  添加到饭否  挖客  添加到google  

   【回到顶部】 【返回文章列表】 编辑:优内科技
⊕ 上一篇:利用JavaScript选择GridView行
⊕ 下一篇:JAVASCRIPT中的window.location和document.location
  相关新闻
返回首页 | 设为首页 | 添加收藏 | 关于我们 | 联系我们 | 企业文化 | 合作伙伴 | 诚聘英才 | 网站报价 | 企业资质 | 网站地图
邮箱登陆 E- mail:master@cck5.com 点击这里给我发消息 客服专员 QQ:310203268 点击这里给我发消息 技术咨询 QQ:22071287点击这里给我发消息 代理备案 QQ:529631515
丰富的网站建设经验,专业提供网站建设、网站制作、网页设计服务,专业设计,真诚服务,不满意不收费!
Copyright 2008 - 2025 cck5 Inc. All Rights Reserved 优内建站网络科技公司
本站部分资源来自网络,如有侵犯您的版权,请告之,我们将即刻删除!QQ:310203268
主要业务:网站建设企业建站专业建站智能建站SEO优化微信建站手机建站
本站ICP备案号:浙ICP备11019299号 中国电信增值ICP经营许可证
不良信息举报中心 江西网警 信息产业部门备案 企业法人营业执照
 
扫优内微信二维码
“码”上有惊喜