php网站后台上传缩略图,PHPCMS后台上传缩略图过程解析,也是一个 apply 运用的好实例...

点击图片的时候触发\statics\js\swfupload\swf2ckeditor.js里面的flashupload()函数。

οnclick="flashupload('thumb_images', '附件上传','thumb',thumb_images,'1,jpg|jpeg|gif|png|bmp,1,,,0','content','20','673a7bdb2c201df7d3b78a7d5b9acd7a');return false;"

571d882504825b01eb66a99b84606afe.png

给该函数加上参数注解

/**

* 上传功能

* @param uploadid dialog id

* @param name dialog名称

* @param textareaid 最后数据返回插入的容器id

* @param funcName 回调函数

* @param args 参数

* @param module 所属模块

* @param catid 栏目id

* @param authkey 参数密钥,验证args

*/

function flashupload(uploadid, name, textareaid, funcName, args, module, catid, authkey) {

var args = args ? '&args='+args : '';

var setting = '&module='+module+'&catid='+catid+'&authkey='+authkey;

window.top.art.dialog({

title:name,

id:uploadid,

iframe:'index.php?m=attachment&c=attachments&a=swfupload'+args+setting,width:'500',height:'420'

}, function(){

if(funcName) {

funcName.apply(this,[uploadid,textareaid]);

}else {

submit_ckeditor(uploadid,textareaid);

}

}, function(){

window.top.art.dialog({id:uploadid}).close()

});

}

把funcName函数对象作为参数传入flashupload函数,然后使用apply()方法来实现funcName函数的动态调用。关于apply的更多说明可以参考:http://mengkang.net/234.html

根据上面onclick的事件代码可以知道回调了thumb_images这个函数,该函数在/statics/js/content_addtop.js里做了申明

function thumb_images(uploadid,returnid) {

var d = window.top.art.dialog({id:uploadid}).data.iframe;

var in_content = d.$("#att-status").html().substring(1);

if(in_content=='') return false;

if(!IsImg(in_content)) {

alert('选择的类型必须为图片类型');

return false;

}

if($('#'+returnid+'_preview').attr('src')) {

$('#'+returnid+'_preview').attr('src',in_content);

}

$('#'+returnid).val(in_content);

}

我也也可以在这个回调函数里做一些自定义的操作,比如发送一个请求生成缩略图。

但是我后来发现还是到表单提交之后去生成缩略图,因为有在确定提交表单前可能会更换很多次。那么就无谓的生成了多余的缩略图了。而且对于采集而来的文章,缩略图已经生成好了,而不会去触发点击,所以也不会触发回调。所以还是放到最后服务端处理。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值