Mar 19, 2007

Ajax Comments

本文永久地址:
http://blog.znsun.com/plugins-list/ajax-comments-reply/

MSN留言风格的Ajax Commens-Reply插件
(
MSN Type Ajax Comments-Reply Plugin)

原创于懶懶喵日記,后Zhang-Zi根据此版本制作了非常优秀的Ajax Comments-Reply插件,现在这个版本实质是将Zhang-Zi的两个版本(一个是以前的实现msn风格的留言版本,另一个是他现在用的版本)合二为一。因此,这里特别感谢两位作者之前所作的大量努力。此版本主要实现的功能如下:

  • 可以配合Smiley Javascript Buttons,插入表情符号
  • 使用回复无需刷新
  • 可以直接在各种页面上(主页,多文章页面,单篇文章)回复留言(默认为5层嵌套),使得讨论更有针对性

修订版1.5主要改了一下几个方面:

  • 修正了代码中的若干错误
  • 加入了set_innerHTML函数,使得innerHTML中的js代码也可以被运行。现在在主页或者单篇日志上均可直接使用Smiley JS Buttons的表情代码(要求系统已经安装了Smiley JS Buttons插件)。

修订版1.1β主要改了一下几个方面:

  • 修改了原插件必须放置在wordpress根目录下的缺点,同时保留了prototype.lite等函数(因为我用的litebox中也用到了prototype.lite【注】litebox是lightbox的精简版本,用以实现图片显示的特殊效果)。
  • 整合了Zhang-Zi的两个不同版本的插件,合并了部分代码,使之达到现在的显示效果。
  • 修改了留言栏的式样,使得符合我的blog风格。
  • 压缩了javascript代码,其中css文件没有压缩,如果有需要,可以参考我的文章:加速Wordpress
  • 加上了Smiley JS Buttons的表情代码,如果你安装了Smiley JS Buttons,可以在单页留言中使用表情符号。

压缩包内容,包含在一个comment-reply的文件夹:

  1. readme.html //Read Me
  2. ajax-comments.php //实现在多文章页面上留言
  3. comments.php //实现单页面上的留言
  4. comment.css // css文件,控制评论栏效果
  5. comment.js, parse.js.php //已压缩的 javascript文件
  6. moo.ajax.js, prototype.lite.js, moo.fx.js //prototype.lite 模块
  7. comments-ajax.php //ajax留言处理
  8. comment-reply.php //插件控制
  9. working.gif //Loading留言时候的动态图标
  10. unzip文件夹 //未压缩过的javascript版本

插件安装使用:

  1. 从上面链接下载安装文件,解压缩后得到一个comment-reply文件夹
  2. 把文件夹的comments.php放到模版目录下,覆盖同名文件—请备份旧的comments.php
  3. 将comment-reply文件夹整个放入插件目录。结构如下:
    ---------------Plugins/
    ----------------------/comment-reply/
    ----------------------------comment-reply.php 等文件
  4. 到管理界面启用Ajax Comments-Reply修订版插件。
  5. 在index.php中用以下代码显示评论:

    <?php $pid=$post->ID; $cnum = get_comments_number(); showcomment($pid, $cnum);?>

插件卸载:

  1. 将模版目录下备份的comments.php复原。
  2. 管理界面停用插件或者直接删除此插件文件。

欢迎使用。有任何问题,可在此留言,或者email 到 "qmqsun(AT)gmail.com",当然,也可以去问Zhang-Zi,他的G-talk是"zhang(AT)zhiqiang.org"。 :)

Post by SUN @ 7:40 am | 我的页面 | Comments (44)

WP Real Static Homepage

PLEASE Scroll down for Chinese version

This plugin enables the wp system to convert your dynamic homepage to static index.html, more importantly, keep the content up to date. It can speed up the loading for your homepage.

Readme:

  1. Plugin WP-Cron is needed for this plugin, I've packed WP-Cron v 1.4 in the zip file.
    Please upzip all the files to plugins/static-index, so that it look like:
    ------plugins/
    ------------static-index/
    ----------------static.php
    ----------------wp-cron-static-index.php
    ----------------wp-cron.php
  2. Active two plugins :WP-cron and WP-Cron Static Homepage.
  3. Create a file named index.html in your blog root folder, set
    666 permissions for it.

Well, the system will update index.html automatically (per 15 mins), you may hack wp-cron.php at line 49 to change the time for scheduled exection actions.

More Tips:

  1. You may use the following php to refresh homepage when comments come in.

    <?php
    include (get_settings('siteurl') . "/wp-content/plugins/static-index/static.php");
    ?>

  2. The following script is to demo how to set cookies in the html files.

    <script type="text/javascript">
    function GetCookie(sName, id)
    {
    // cookies are separated by semicolons
    var something = document.getElementById(id);
    if(!something) return 0;
    for (var i=0; i < aCookie.length; i++)
    {
    // a name alue pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
    {
    if(sName=="comment_author_10add94cfc29a64b08306c8a8f9edb30")
    something.value = decodeURI(aCrumb[1]);
    else
    something.value=unescape(aCrumb[1]);
    return 1;
    }
    }
    // a cookie with the requested name does not exist
    return 0;
    }
    //please fill in with your own cookie id
    GetCookie("comment_author_8e11b42cc2f3a74aac664cc9afa5baf7", "authorname");
    GetCookie("comment_author_email_8e11b42cc2f3a74aac664cc9afa5baf7", "email");
    GetCookie("comment_author_url_8e11b42cc2f3a74aac664cc9afa5baf7", "url");</script>

Post by SUN @ 7:32 am | 我的页面 | Comments (7)

Ajax Comments Reply

本文永久地址:
http://blog.znsun.com/plugins-list/ajax-comments-reply/

MSN留言风格的Ajax Commens-Reply插件
(
MSN Type Ajax Comments-Reply Plugin)

  • 点击下载版本:1.0β ,最近更新于2007/03/18

原创于懶懶喵日記,后Zhang-Zi根据此版本制作了非常优秀的Ajax Comments-Reply插件,现在这个版本实质是将Zhang-Zi的两个版本(一个是以前的实现msn风格的留言版本,另一个是他现在用的版本)合二为一。因此,这里特别感谢两位作者之前所作的大量努力。此版本主要实现的功能如下:

  • 回复无需刷新。
  • 可以直接在各种页面上(主页,多文章页面,单篇文章)回复留言(默认为5层嵌套),使得讨论更有针对性。

此修订版主要改了一下几个方面:

  • 修改了原插件必须放置在wordpress根目录下的缺点,同时保留了prototype.lite等函数(因为我用的litebox中也用到了prototype.lite【注】litebox是lightbox的精简版本,用以实现图片显示的特殊效果)。
  • 整合了Zhang-Zi的两个不同版本的插件,合并了部分代码,使之达到现在的显示效果。
  • 修改了留言栏的式样,使得符合我的blog风格。
  • 压缩了javascript代码,其中css文件没有压缩,如果有需要,可以参考我的文章:加速Wordpress

压缩包内容,包含在一个comment-reply的文件夹:

  1. readme.html //Read Me
  2. ajax-comments.php //实现在多文章页面上留言
  3. comments.php //实现单页面上的留言
  4. comment.css // css文件,控制评论栏效果
  5. comment.js, parse.js.php //已压缩的 javascript文件
  6. moo.ajax.js, prototype.lite.js, moo.fx.js //prototype.lite 模块
  7. comments-ajax.php //ajax留言处理
  8. comment-reply.php //插件控制
  9. working.gif //Loading留言时候的动态图标
  10. unzip文件夹 //未压缩过的javascript版本

插件安装使用:

  1. 从上面链接下载安装文件,解压缩后得到一个comment-reply文件夹
  2. 把文件夹的comments.php放到模版目录下,覆盖同名文件—请备份旧的comments.php
  3. 将comment-reply文件夹整个放入插件目录。结构如下:
    ---------------Plugins/
    ----------------------/comment-reply/
    ----------------------------comment-reply.php 等文件
  4. 到管理界面启用Ajax Comments-Reply修订版插件。
  5. 在index.php中用以下代码显示评论:

    <?php $pid=$post->ID; $cnum = get_comments_number(); showcomment($pid, $cnum);?>

插件卸载:

  1. 将模版目录下备份的comments.php复原。
  2. 管理界面停用插件或者直接删除此插件文件。

欢迎使用。有任何问题,可在此留言,或者email 到 "qmqsun(AT)gmail.com",当然,也可以去问Zhang-Zi,他的G-talk是"zhang(AT)zhiqiang.org"。 :)

Post by SUN @ 12:57 am | 与时俱进 | Comment (1)
Mar 16, 2007

WP Static Homepage

PLEASE Scroll down for Chinese version

This plugin enables the wp system to convert your dynamic homepage to static index.html, more importantly, keep the content up to date. It can speed up the loading for your homepage.

Readme:

  1. Plugin WP-Cron is needed for this plugin, I've packed WP-Cron v 1.4 in the zip file.
    Please upzip all the files to plugins/static-index, so that it look like:
    ------plugins/
    ------------static-index/
    ----------------static.php
    ----------------wp-cron-static-index.php
    ----------------wp-cron.php
  2. Active two plugins :WP-cron and WP-Cron Static Homepage.
  3. Create a file named index.html in your blog root folder, set
    666 permissions for it.

Well, the system will update index.html automatically (per 15 mins), you may hack wp-cron.php at line 49 to change the time for scheduled exection actions.

More Tips:

  1. You may use the following php to refresh homepage when comments come in.

    <?php
    include (get_settings('siteurl') . "/wp-content/plugins/static-index/static.php");
    ?>

  2. The following script is to demo how to set cookies in the html files.

    <script type="text/javascript">
    function GetCookie(sName, id)
    {
    // cookies are separated by semicolons
    var something = document.getElementById(id);
    if(!something) return 0;
    for (var i=0; i < aCookie.length; i++)
    {
    // a name alue pair (a crumb) is separated by an equal sign
    var aCrumb = aCookie[i].split("=");
    if (sName == aCrumb[0])
    {
    if(sName=="comment_author_10add94cfc29a64b08306c8a8f9edb30")
    something.value = decodeURI(aCrumb[1]);
    else
    something.value=unescape(aCrumb[1]);
    return 1;
    }
    }
    // a cookie with the requested name does not exist
    return 0;
    }
    //please fill in with your own cookie id
    GetCookie("comment_author_8e11b42cc2f3a74aac664cc9afa5baf7", "authorname");
    GetCookie("comment_author_email_8e11b42cc2f3a74aac664cc9afa5baf7", "email");
    GetCookie("comment_author_url_8e11b42cc2f3a74aac664cc9afa5baf7", "url");</script>

Post by SUN @ 5:22 pm | 与时俱进 | Comments (2)
Mar 14, 2007

推荐一款在线播放器

本文于2009年08月20日再次更新

Web2.0的时代,不少人喜欢在自己的blog或者网站上放音乐,不可否认,我也喜欢。
但如何加载音乐的确是个问题,因为大多数在线播放器都会在加载该页面的同时读取相应的mp3文件,这样就降低了网页浏览速度。所以我碰到加载速度慢的mp3,一般都是直接block掉,免得影响自己的浏览速度。

这儿推荐一款flash在线播放器,flash在线播放器的最大的好处就是加载速度快,不会影响网页浏览的速度(至于音乐的加载速度,主要决定于你的带宽)。
如果你是wordpress的用户,我推荐你安装XSPF_Player插件

如果你的blog不是wordpress系统或者你想在自己的其他网页上添加播放器,请用如下的代码:

<object type="application/x-shockwave-flash" data="http://www.znsun.com/Music/player_mp3_maxi.swf" width="200" height="20">
<param name="wmode" value="transparent" />
<param name="movie" value="http://www.znsun.com/Music/player_mp3_maxi.swf" />
<param name="FlashVars" value="mp3=歌曲地址栏&amp;bgcolor1=ffffff&amp;bgcolor2=cccccc&amp;buttoncolor=999999&amp;buttonovercolor=0&amp;slidercolor1=cccccc&amp;slidercolor2=999999&amp;sliderovercolor=666666&amp;textcolor=0&amp;showvolume=1&amp;autoplay=0&amp;loop=0" />
<p>Texte alternative</p>
</object>

注:
上面包含了两段播放代码,针对不同的浏览器有效,满足不同人士需要啦。
这个播放器本身是在我网站上的,你可以下载后再上传到自己的网站上。
其中

  1. 歌曲地址栏请包含完整的歌曲 URL代码
  2. &autoplay=0 用来控制是否自动播放(1为自动播放),如果不需要请删除此部分代码。
  3. &loop=0用来控制是否重复播放(1为重复播放),如果不需要请删除此部分代码。

更多的参考请参阅:http://flash-mp3-player.net/

最后的实际效果见下,自动播放被我取消了,请自行点击开始欣赏。

Texte alternatif

Tags:     
Post by SUN @ 5:07 pm | 与时俱进 | Comment (0)

PHP判断浏览器类型和浏览器语言

用php语言来判断浏览器类型其实很简单。
因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言啦)。

这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)。

我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了。

判断浏览器类型:

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

判断浏览器语言:

<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>

判断浏览器类型的具体程序如下:

<?php
if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
echo "Internet Explorer 8.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
echo "Internet Explorer 7.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
echo "Internet Explorer 6.0";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))
echo "Firefox 3";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))
echo "Firefox 2";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
echo "Google Chrome";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
echo "Safari";
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
echo "Opera";
else echo $_SERVER["HTTP_USER_AGENT"];
?>

判断浏览器语言的具体程序如下:

<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
if (preg_match("/zh-c/i", $lang))
echo "简体中文";
else if (preg_match("/zh/i", $lang))
echo "繁體中文";
else if (preg_match("/en/i", $lang))
echo "English";
else if (preg_match("/fr/i", $lang))
echo "French";
else if (preg_match("/de/i", $lang))
echo "German";
else if (preg_match("/jp/i", $lang))
echo "Japanese";
else if (preg_match("/ko/i", $lang))
echo "Korean";
else if (preg_match("/es/i", $lang))
echo "Spanish";
else if (preg_match("/sv/i", $lang))
echo "Swedish";
else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
?>

这是根据上面的代码做出来的一个小程序:
www.znsun.com/Download/test.php
判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。

Tags:   
Post by SUN @ 12:44 am | 与时俱进 | Comments (8)