2008,再见了。
虽然2008年走得并不顺利,但我还是对2009充满希望,明年再见吧。
Changing Anytime
2008,再见了。
虽然2008年走得并不顺利,但我还是对2009充满希望,明年再见吧。
由于需要在Discuz!6.1中使用jquery库,但后来发现用不了,也找不到原因,之后去网上一找,原来是因为Discuz!6.1的common.js修改Array对象的prototype方法,造成的问题。解决方法是:
if(typeof Array.prototype.push === 'undefined') {
Array.prototype.push = function(value) {
this[this.length] = value;
return this.length;
}
}
对这个方法进行判断。这解决这个问题的过程中,算是理解了一些奇怪写法的js代码。比如:
(function($){
…….
}){jQuery}
这种写法使用了闭包的一些特性。通过一个匿名函数来隐藏变更的作用域,这样在这个函数体内还是使用$为jQuery对象的引用,呵呵,原来写的代码在有冲突的页面中就不需要修改了。
最近,有个项目需要整合Discuz!论坛,有一个主搜索导航,可以直接搜索论坛相关内容。但经过分析源代码后,Discuz!的搜索不是简单的提问查询词,Discuz!中会自己生成一个查询索引,通过那个索引id来做定位查询词。
整体思路是模拟搜索表单的提交,但在模拟时发现一个问题,Discuz!会根据用户生产hash值,当提交后,当然会判断这个hash值,这会非常麻烦,因为这个hash值需要一些Discuz!初始化的变量才能产生。所以先在程序去掉这个验证。程序在:
include/global.func.php文件中的submitcheck函数,在889行开始,有一个条件判断:$GLOBALS[‘formhash’] == formhash(),只要把这个去就可以,但这样会对论坛的安全性造成一些问题。
注意:Discuz!和整合的程序必须是在一个域内才行。
我一直使用foobar2000作为我的音乐播放器,反正一直就这么用。突然,这几天我对歌词有点需要,所以我想要找个歌词的插件。于是,一款名叫乐辞的软件被我找到,而且支持多种音乐播放器。下之,装之。
如果你要使用歌词功能,需要安装Columns UI这个插件,并且作为默认使用的UI,将下载的文件放到foobar的安装目录中的components文件夹中,然后重启,正常情况下有弹出一个对话栏让你选,中文名称是“分栏用户界面”。
然后安装乐辞,重启foobar,如果顺利加载foo_uie_lyricist.dll,则会在Components里面显示。最后,要做的是把添加歌词栏。这个操作在Columns UI(分栏用户界面)的Layout(布局)栏里,中间的那个大栏,就是设置地方,你可以在Horizontal splitter上面试着点击右键看看。选择insert panel(插入面版)->面版->乐辞歌词,这样就OK了。
乐辞会自动网上取词。
截图如下: