2.0支持基于pathinfo的URL美化功能已经很久了(也就是说将日志的URL地址变为 yourname.com/read.php/1.htm 这样比较好看的形式),但我在官方日志上一直没有打开这个功能。原因是打开这个功能后,在现在使用人数最多的浏览器——IE上会有比较怪异的表现。说它怪异是我实在想不通IE这样表现的理由,而且当我查明原因后反而更加摸不着头脑了。
起因是这样的。由于启用 yourname.com/read.php/1.htm 这样的地址后,浏览器默认的当前路径是 read.php/ ,显然是错误的,所以我用了 <base href="yourname.com/" /> 将其重新调整为 yourname.com。这样一来,css的路径、链接的路径就都正确了。(IE还有一个让人郁闷的地方,过会再表。)
本来以为这样就OK,想不到2.0上线不过5分钟就被 msxcms 发现了问题。看以下两个地址:
http://www.bo-blog.com/weblog/read.php/325.htm?tem=default
http://www.bo-blog.com/weblog/read.php/325.htm?tem=steven01
然后试着选择正文的任何文字,你会发现在IE下,第2个模板的字怎样也不能被精确选中。例如单独选择“程序简介”四个字,是怎样都不行的。而第1个模板则可以任意选择文字。(如果第1个模板也出现同样的情况,则是你的浏览器缓存了旧的css导致的,请按ctrl+F5刷新。)
而当URL美化关闭时,这两个模板下的正文都可任意选取:
http://www.bo-blog.com/weblog/read.php?325&tem=default
http://www.bo-blog.com/weblog/read.php?325&tem=steven01
实在是百思不得其解。今天反复试验了半天,终于被我发现解决的方法。那就是把css中的
#wrapper {
margin:0 auto;
width: 780px;
position: relative;
text-align: left;
}
加红部分注释或删除掉。
以上两个模板的区别就在于此。
所以这个问题总结下来就是:
<base>和css中的position: relative;在某种情况下的冲突导致无法选取页面文字。看到这个风马牛不相及的结论我实在是无话可说了,只能称奇。
当然,IE还有个小小的郁闷,就是对于js里面的URL没有以<base>规定的path来改写,不过这应该是小问题,在js里面改改就成了。
起因是这样的。由于启用 yourname.com/read.php/1.htm 这样的地址后,浏览器默认的当前路径是 read.php/ ,显然是错误的,所以我用了 <base href="yourname.com/" /> 将其重新调整为 yourname.com。这样一来,css的路径、链接的路径就都正确了。(IE还有一个让人郁闷的地方,过会再表。)
本来以为这样就OK,想不到2.0上线不过5分钟就被 msxcms 发现了问题。看以下两个地址:
http://www.bo-blog.com/weblog/read.php/325.htm?tem=default
http://www.bo-blog.com/weblog/read.php/325.htm?tem=steven01
然后试着选择正文的任何文字,你会发现在IE下,第2个模板的字怎样也不能被精确选中。例如单独选择“程序简介”四个字,是怎样都不行的。而第1个模板则可以任意选择文字。(如果第1个模板也出现同样的情况,则是你的浏览器缓存了旧的css导致的,请按ctrl+F5刷新。)
而当URL美化关闭时,这两个模板下的正文都可任意选取:
http://www.bo-blog.com/weblog/read.php?325&tem=default
http://www.bo-blog.com/weblog/read.php?325&tem=steven01
实在是百思不得其解。今天反复试验了半天,终于被我发现解决的方法。那就是把css中的
#wrapper {
margin:0 auto;
width: 780px;
position: relative;
text-align: left;
}
加红部分注释或删除掉。
以上两个模板的区别就在于此。
所以这个问题总结下来就是:
<base>和css中的position: relative;在某种情况下的冲突导致无法选取页面文字。看到这个风马牛不相及的结论我实在是无话可说了,只能称奇。
当然,IE还有个小小的郁闷,就是对于js里面的URL没有以<base>规定的path来改写,不过这应该是小问题,在js里面改改就成了。
[模块]Frame Se
[模板]Almost S




内容:1. magic_quotes_gpc=on:br/ = br/ = br/ = br/br/2. 当 、 插入数据库时,字符并没有变化,仍然为 和 。因此读出时无需再次stripslashes。br/例外:magic_quotes_runtime=on时。br/br/3. preg_replace的pattern中使用 /e 修正符,则replacement传递到callback函数中的情形为:br/ = br/ = br/ = br/br/4. 从数据库中读取,当magic_quotes_runtime=off时,似乎 = 空 ?br/br/总结:引号和反斜杠的问题很复杂,而且因各服务器的设置不同而千变万化。br/现在我的解决方法是br/ = #92;br/引号则用 htmlspecialchars ,quote_style设置为 ENT_QUOTES。br/br/希望SP1版本中贴代码的问题能够解决。br/测试:br/?phpbr/error_reporting(E_ALL);br/br//* 加入重定向以得到标准错误输出 stderr。 */br/$handle = popen(/path/to/spooge 21, r);br/echo $handle; . gettype($handle) . n;br/$read = fread($handle, 2096);br/echo $read;br/pclose($handle);br/br/?
如果我删除引用,出现下面的地址,会导致删除不了,
http://www.ittot.com/blog/read.php/admin.php?go=reply_deltb_73-401
应该是
http://www.ittot.com/blog/admin.php?go=reply_deltb_73-401
这样才对