09-29


关于CSS对各个浏览器兼容是个非常让人头疼的事情了, 网络上的教程遍地都是.今天在discuz.net上发现了一篇不错的东西,就转载过来和大家共享.可以当作CSS兼容IE6,IE7,FireFox典范了,值得去记录下。发现自己很久没有转载东西。

注:IE都能识别*;标准浏览器(如Firefox,Opera,Netscape)不能识别*;IE6能识别*,但不能识别 !important,IE7能识别*,也能识别!important;FF不能识别*,但能识别!important;

写两句代码来控制一个属性,区别Firefox与IE6:
background:orange;*background:blue;

//这一句代码写出来时,你用firefox或其它非IE浏览时,会发现,写了该代码的区域背景是橙色的,如果用IE浏览,却是蓝色的,这是因为IE都能识别*;标准浏览器(如Firefox,Opera,Netscape)不能识别*;

写两句代码来控制一个属性,区别IE7与IE6:
background:green !important;background:blue;

//这一句代码写出来时,你用IE7浏览,会发现,写了该代码的区域背景是绿色的,如果用IE6浏览,却是蓝色的,这是因为IE7能识别!important*,一但识别了,就执行,忽略了后面的那一句,但IE6却不能识别!important,所以前面部分跳过,直接执行了后半部份。

写两句代码来控制一个属性,区别Firefox与IE:
background:orange; *background:green;

//这一句代码写出来时,你用Firefox浏览,会发现背景是橙色的,而IE里却是绿色的,很简单,因为Firefox不能识别*,而IE6,IE7都可以识*

写三句代码来控制一个属性,区别Firefox,IE7,IE6:
background:orange;*background:green !important;*background:blue;

//这一句会使在Firefox在,背景呈橙色,IE7中为绿色,IE6中为蓝色,道理和前面一样,Firefox不能识别*,所以后面两句都不执行,直接执行第一句,IE7当然也能执行第一行代码,但是因为第二句,他也能识别,所以就执行了第二句代码,把前面的效果给过滤了,而最后一句,IE7是不能识别的。IE6不能识别!imprtant,本来运行了第一句代码了,第二句不能识别,那就理所当然的执行了最后一句。

查看全文»


09-29


首先第一个是index.php的问题,比如www.ccvita.com和www.ccvita.com/index.php这2个路径在搜索引擎眼中是不一样的,所以我们得统一首页的路径,其实对于有单独home页的论坛来说这点已经不重要了,因为论坛的根目录是你的home页,而Discuz!的论坛首页就是这样

其次就是内容页复制的问题,比如www.discuz.net/thread-545829-1-5.html这个帖子和www.discuz.net/thread-545829-1-1.html其实是一个内容页,但是有很多url去展现内容。这是需要修改的一点。

还有就是Discuz!的redirect.php,这个里面主要是跳转到下一个主题,上一主题,还有帖子等等的跳转链接

其次还有post.php?action=newthread在开启游客发帖权限以后,同样也会造成内容重复

查看全文»


09-27


今天一个朋友问到Apache防盗链的效果以及破解Apache防盗链的问题,于是决定就写一写Apache的防盗链。我凸,突然发现自己做优化做习惯了,文章前端必定要重复关键字几次,罪过啊罪过!

下面是引用木头同学的:

位置一般情况下在 /usr/local/apache/conf/httpd.conf
或者apache 2.2 的 /usr/local/apache2/conf/extra/httpd-vhost.conf
添加

  1. SetEnvIfNoCase Referer "^http://www.ccvita.com" local_ref=1
  2. SetEnvIfNoCase Referer "^http://ccvita.com" local_ref=1
  3. <filesmatch "\.(txt|doc|mp3|zip|rar|jpg|gif)">
  4. Order Allow,Deny
  5. Allow from env=local_ref
  6. </filesmatch>

其中粗体的是您的网址,如果有多个,就加多行
斜体的是您需要防盗链的文件后缀,中间用|隔开

查看全文»


09-26


一个用户在添加Discuz!的js调用的时候提示

SQL: INSERT INTO [Table]settings (variable, value) VALUES (’jswizard_threads_eME’, ‘….’)
Error: Duplicate entry ‘jswizard_threads_eME’ for key 1
Errno.: 1062

上面的数据库错误显示是提示settings已经有了jswizard_threads_eME这个数据,但实际上确实又没有这个数据,一直在排查是什么原因,然后发现了这个mysql诡异的现象

当settings表内存在jswizard_threads_Cp4时,
再插入jswizard_threads_eME会提示Duplicate entry,
也就是说下面2条sql第二条会报错的,
而数据库中确实没有jswizard_threads_eME这个内容。
后来再次测试发现公司的mysql版本为4.1.20有这种情况,mysql 5 无此情况
mysql代码:

  1. INSERT INTO cdb_settings( variable, value ) VALUES ('jswizard_threads_Cp4', '')
  2. INSERT INTO cdb_settings( variable, value ) VALUES ('jswizard_threads_eME', '')

查看全文»


09-26


越来越发现feed是个好东西了,现在已经习惯去订阅一些人的blog去关注他们了
比较常用google reader感觉做的还不错,鲜果貌似就是仿照google reader的
现在google reader有了中文版使用更方便点了,推荐大家订阅我的blog
Feed地址:http://feed.ccvita.com

不过我还是估计很多人不会使用feed/rss的订阅功能,那我只能说人的智商是有limit的,比如豆豆同学就不知道
查看全文»