今天遇到一个在新浪云平台搭建Wordpress的朋友,他也正好要用我写的Ntalker for Wordpress插件,但是有些问题存在,于是我就开始开始研究看看。经过分析,发现原来是缓存无法写入,导致的部分功能的丢失。这是新浪云平台官网原话:“SAE不允许写本地文件目录。由于SAE是分布式架构,每次的请求可能到达不同的机器,为了提升性能和安全,我们不允许对代码目录进行写操作。数据并不会永久地写到“本地”,而是通过以下两个方法写到临时存储或Storage/MC服务中:TmpFS,用于处理临时文件需求; Wrapper,让你只需要修改文件路径就可以将数据写入到Storage服务或者Memcache服务中。详细的说明请参照相关服务说明。” 下面是这次修改的主要方法的参照源。根据提示我选择了Memcache服务来代替原插件里的那个开源cache类。关于Memcache的使用方法如下:
============= Ntalker for Wordpress 展望 =============
1、预计在1.2版本中去掉该文件,实现在wp后台进行相关数据的配置。
2、1.x系列版本将主要实现Ntalker的基础聊天功能,其余功能如加好友,改在线等状态这类附加功能,初步计划在2.x版本中加入,届时可以通过Ntalker for Wordpress插件把你的wp打造成一个小型的社区。2.x版本将会在wp数据库新建一个表来实现记录好友关系,我已经开始着手思考这个表的构造了,如果您有好的想法,还请您能在这里留言,我将会为此感激不尽!
function add(){ var num = Math.round(Math.random() * 10000); // random data var value = document.getElementById("text").value; db.transaction( function(tx){ tx.executeSql( "insert into oo(id,text) values(?,?)", [num,value], function(tx){alert("添加成功");}, function(tx, error){alert("添加数据失败,错误信息:"+error.message);} ); } ); }
function show(){ db.transaction( function(tx){ tx.executeSql( "select * from oo", [], function(tx, result){ for(var i = 0; i < result.rows.length; i++){ var item = result.rows.item(i); alert(item['id']+":"+item['text']); } }, function(tx,error){alert("查询数据失败,错误信息:"+error.message);} ); } );
When a function is called as a method on an object (obj.alertVal()),
"this" is bound to the object that it is called on (obj).
And when a function is called without an object (func()),
"this" is bound to the JavaScript global object (window in web browsers.)