给编辑器CKEditor3.5.2增加图片上传的功能

Posted in PHP on March 7th, 2011 by Adam

CKEditor是一款很适合PHP后台系统使用的HTML编辑器,功能强大,配置方便。唯独不足是缺少对图片上传的支持。CKFinder虽然是个解决方案,但是太过复杂,CKEditor的版本已经发展到3.5.2,网上很多解决办法还没更上,3.5.2的解决办法不太好找。考虑到ckeditor的复杂性,觉得用valums的ajax upload来配合最合适。

首先在ckeditor的plugins\image\dialods\image.js里进行编辑,找到
children:[{id:’txtUrl’,type:’text’,label:b.lang.common.url
在后面增加内容变成:
b.lang.common.url+” <div id=\”file-uploader\” style=\”display:inline;\”>上传图片</div>”

然后在编辑器所在页面增加:
<script src=”fileuploader.js” type=”text/javascript”></script>
<link href=”fileuploader.css” rel=”stylesheet” type=”text/css” />
<script>
function createUploader(){
var uploader = new qq.FileUploader({
element: document.getElementById(‘file-uploader’),
action: ‘ajax_upload.php’,
debug: false
});
}
</script>

最后修改fileuploader.js,找到:

var item = this._getItemByFileId(id);
qq.remove(this._find(item, ‘cancel’));
qq.remove(this._find(item, ‘spinner’));
if (result.success){

将后面的内容替换成:

if (result.success){

if(document.getElementById(‘cke_109_textInput’)){
document.getElementById(‘cke_109_textInput’).value=result.img;
}

}

注意cke_109_textInput是源文件图片路径框的ID号。

Tags: , ,

通过Google查询网络用户地理位置

Posted in Google与Idea on August 28th, 2008 by Adam

Google的Ajax API运用中有一个google.loader.ClientLocation对象,可以方便我们实时高速地查询网络用户的真实地理位置,这给不方便使用数据库的站长带来了极大的方便,同时减少了网站负担,也省去了自己不断更新IP地理位置数据库的麻烦。

ClientLocation对象返回属性包括
# ClientLocation.latitude
# ClientLocation.longitude
# ClientLocation.address.city
# ClientLocation.address.country
# ClientLocation.address.country_code
# ClientLocation.address.region

测试结果如下: (查看例子)
纬度:23.117
经度:113.25
城市:Guangzhou
国家:China
国家代码:CN
地区:Guangdong

Tags: ,

厌倦了Javascript和HTML的混合写法?试试Behaviour

Posted in Uncategorized on November 22nd, 2007 by Adam

behaviour.gif
我们都知道PHP程序最好做到前后台的分离,尽量避免PHP加插到HTML中的做法。其实同样的,我们也可以做到Javascript与HTML的分离。 Behaviour就是这样一个基于Ajax的js功能原型。现在我们来看看对比:

比如我们想给一个连接添加JS功能。常规的写法如下:

[code lang="html"]My action

[/code]

有了Behaviour,我们可以这样写:

[code lang="html"]
My action [/code]

HTML干净了很多吧!非常感谢Ben Nolan!

Tags:

Js Err: 'button[].type' is null or not an object

Posted in Uncategorized on September 14th, 2007 by Adam

今天作一个ajax的project遇到一个有趣的问题,由于用惯了PHP,我喜欢在array的最后一项后面加上逗号,而且一直也没出现什么差错。写javascript的时候我还是按照这样的习惯,FireFox也没提示任何的JS运行错误。不料终于在IE上遇到了问题,出现了下面的错误:

试着把逗号去掉,问题解决。看来IE还是很死板的来解析javascript。不过这也可以看作是Javascript在IE和基于Mozilla的浏览器之间的一点区别。回想起来,别看这个问题很小,还真花了我2个小时的时间,有些时候还真让人歇斯底里,觉得好像是老天爷故意在和你作对一样,挠破头皮也没辙。不过也应该是自己的水平还有待提高。^_^!

Tags:

Ajax获取简体内容是的乱码问题

Posted in javascript on December 6th, 2006 by Adam

Ajax默认charset是UTF-8格式,所以在获取内容是如果页面是非UTF-8编码,用户往往会看到乱码。解决办法如下:

request = new XMLHttpRequest();
if(request.overrideMimeType)
{
常规:request.overrideMimeType(‘text/xml’);
修改为:request.overrideMimeType(‘text/xml;charset=gbk’);
}

注意:当用户使用IE是仍有可能看见乱码,为了周全起见,推荐在返回的内容前加个强制header声明,如我们用的是GBK,则:

header(“Content-type: text/html; charset=GBK”);

Tags:
RSS Feed