前言
前段时间看到一个国外的网站,在线生成ajax loading动画。觉得很实用,于是动起了移植到自己网站的念头(一直以来的习惯,看到好的工具总想着移植到本地好好研究)。根据以往移植的经验最终把 这个工具移植到自己网站上了,生成图片的核心还是用了原来网站的接口,所以这个功能的实现完全依赖于原网站,生成和下载图片的速度取决于网速,由于是国外 的网站,功能并不稳定。下面介绍下我移植的过程已经遇到的问题。
1.把原网站的代码本地化
这一步比较简单,不过有点麻烦,相关的图片,css,js,html文件保存在本地。
2.实现生成图片的功能
这里遇到了第一个问题,网站生成的图片保存在根据颜色值生成的途径上,而这些图片有防盗链设置,不 允许外来网站引用。尝试过写程序把网站上的所有图片按原目录下载到本地,但是图片太多,放弃了这个思路。
最后采取的办法是通过伪造来源访问原网站的图片,获取图片数据,并直接输出在页面。
下面是实现的代码
注:本人的网站基于BAE建设,与其他服务器的伪造来源有些区别
其他服务器需把
- 替换成
- $_GET[url];//获取参数
- header(“Content-Type:application/force-download”);
- header(“Content-disposition:attachment;filename=ajax-loading.gif”);//$downname是下载后的文件名
- $_REQUEST['url'];
- //www.ajaxload.info/’.$file;
- $ch=curl_init();
- $url);
- “http://www.ajaxload.info”);
- $ch)){
- }
- curl_close($chData;
- exit;//结束程序
- }
注:http://bloglaotou.duapp.com替换成你自己的ajaxloader.PHP文件的地址。
替换原网站script.js文件中的
3.下载图片的实现
同样的原因,原网站的下载功能移植到本地后也不能用了,实现的方法与生成图片的方法类似
代码如下
把上面的代码保存为download.PHP并把原网站script.js文件中的
替换为
注:http://bloglaotou.duapp.com替换成你自己的ajaxloader.PHP文件的地址。
效果预览
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。