FireFox和IE下使用ajax的一些小问题总结

2009-6-17 20:07 Wednesday

1、FireFox下使用xmlHttpRequest的send方法是必须指定参数。即.send();是无效的,如果没有参数要使用.send(null);.
2、FireFox下处理DOM时把空白也当作是一个节点。因此为了避免出现一些意想不到的问题,要尽量不要使用空白(包括换行、空格等等)。
3、使用createElement创建节点时,IE下可以用document.createElement(”<tr>”);但是FireFox下只能用document.createElement(”tr”);
4、添加子节点,IE可以用add,但是FireFox下不可以。FireFox下只能用appendChild.
5、如果IE下往table节点里添加tr达不到预期效果,常常是因为没有添加tbody节点。
6、IE下使用javascript设定td的colspan无效是因为大小写的问题,必须使用colSpan。
7、FireFox下输出从服务器端返回XML时注意开头不能有空白(包括换行、空格等),否则会有解析错误。
8、使用xmlHTTPRequest实现分页效果时,每次处理完一次请求要把xmlHTTPRequest对象消掉,下次使用时再重新构建。

标签: JavaScript firebox

PHP多版本共存解决方案

2009-4-29 12:42 Wednesday

我这里说的php多版本共存不仅仅是php4、php5两个大版本号程序的共存,而是php的很多小版本号程序的共存,例如php4.3.1、php4.4.5、php5.2.0、php5.2.9等等,不仅如此,由于测试的需求,我还需要做到php的版本可以随时灵活切换。

目前网上很多的解决方案是在本机安装IIS和Apache或安装多个apache服务,每个服务器安装一个版本的php来达到版本共存的要求,但是要按照 我的要求,这么做既麻烦也达不到我的要求。那么有没有别的方法呢,网上没有就只好自己来研究了,下面就是我摸索出的完美解决方案:

实现思路:Apache  + .htaccess + PHP CGI

阅读全文>>

标签: apache php 原创 享受编程

phpCodeBeautifier批量php程序代码美化工具

2009-4-24 12:35 Friday

phpCodeBeautifier是一个非常不错的php代码美化工具,但是美中不足的是要使用它必须在命令行下使用非常长的命令参数来美化程序,更有一点不能忍受的是它一次只能美化一个程序文件的代码。

针对这些问题,我写了一个php的shell 脚本来解决这些问题。

主要功能:

使用phpCodeBeautifier批量美化php代码,一个命令就能自动把文件夹下所有的php文件(包括子文件夹)的代码美化完毕。

点击查看原图

程序代码批量美化步骤

请注意在美化操作前请务必备份自己原程序....

1.将phpCB.exe和phpcb.php拷贝到你要美化的php程序的文件夹里
例如 d:\emlog
2.然后 开始 - 运行 输入 cmd
3.在命令行窗口输入 d:\php\php.exe d:\emlog\phpcb.php 后回车
注意 d:\php\php.exe 是本机php.exe的安装路径,请根据自己机器的PHP安装路径修改...
4.耐心等到输出 job done!提示后,代码就美化完成了。

5月4日 update  修复路径递归bug

程序下载地址在这里

标签: php 原创 享受编程

霏凡软件站搜索XSS漏洞

2009-4-23 20:02 Thursday

无意中试了下,居然可以,霏凡程序员也太大意了吧....

点击查看原图

然后顺便试了一下霏凡的兄弟站绿色下载,一样的结果...

点击查看原图

 

标签: XSS

QQ2009登陆后崩溃的解决办法

2009-4-23 12:16 Thursday

今日同事遇到一件怪事,只要登陆QQ2009正式版本,登陆成功后几秒钟QQ就会莫名其妙的崩溃掉。

我采取了卸载重装,清除所有QQ生成的文件,关闭杀毒软件等等等方法后QQ依然是登陆后继续崩溃。

此时开始怀疑是否是系统中某些QQ需要的程序出现故障,询问同事在出现该症状前有什么软件变动操作,同事说将机器上的Flash给卸载了。晕,估计是flash控件没了导致QQ崩溃。

解决方案

1.下载最新的flash播放控件并安装 这里下载

2.进入 c:\windows\system32 搜索 flash.ocx

点击查看原图

3.得到flash.ocx 文件路径之后,在开始 - 运行中输入 regsvr32 C:\WINDOWS\system32\Macromed\Flash\flash.ocx

提示注册成功后问题即解决

注意,不同版本的flash控件文件名称可能会有出入

标签: 软件应用

[转]在VirtualBox里复制VDI文件

2009-4-22 15:30 Wednesday

在VirtualBox的快速修复界面里,可以随时生成当前状态的备份。当生成了备份之后,会在Snapshots目录下创建一个新的VDI文件,之后对当前状态所做的一切操作都将针对最新的VDI文件,而VDI目录下的初始VDI文件就不会再改变了。

 

我一般在装好Guest OS并做完打补丁、安装常用软件等操作后就创建一个备份,如果Guest OS发生了问题可以随时恢复到干净的系统。但是有时需要在不同的软件环境下做不同的事情,开始时我希望能用一个VDI文件生成两个不同的备份并分别配置成不同的环境,但是发现VirtualBox的备份是线性的,也就是说只能针对当前状态做一个备份,而恢复备份时也只能恢复到上一个备份的状态,不能同时存在两个不同的当前状态。

 

没有办法,只能把初始的VDI文件复制出来一份用于另外的环境。但是很快发现,复制出来的VDI文件无法在虚拟介质管理器中注册,因为每个VDI文件都有一个唯一的uuid,而VirtualBox不允许注册重复的uuid。

 

看了帮助文件后,发现VBoxManage有一个clonevdi方法可以克隆VDI文件,并赋予它一个新的uuid。具体用法是在命令行里执行:

VBoxManage clonevdi 原始VDI文件名 新的VDI文件名

直接写VDI文件名即可,不用指明VDI文件所在路径,新的文件会在全局设定中指定的VDI目录下创建。如果VDI文件名里带有空格,应该在两端加上双引号。VBoxManage命令位于VirtualBox安装目录下,缺省路径是C:\Program Files\Sun\xVM VirtualBox。

 

用这个方法创建了新的VDI文件后,就可以正常注册并在另一个虚拟机中使用了。

 


2008-12-25更新:

 

本月17日VirtualBox发布了2.10版,在这个版本里,VBoxManage clonevdi命令改为了VBoxManage clonehd,它的用法如下:

VBoxManage clonehd          <uuid>|<filename> <outputfile>
                            [-format VDI|VMDK|VHD|RAW|<other>]
                            [-remember]

可以看到,使用-format参数,除了VDI格式的虚拟磁盘文件以外,它还支持VMDK(VMWare)、VHD(Virtual PC)等格式。为了向下兼容,它仍然支持使用VBoxManage clonevdi命令来复制VDI格式的文件

本文转自:http://blog.sina.com.cn/s/blog_591a2c940100aree.html

标签: 软件应用

php连接SQL Server2000/2005的问题总结

2009-3-10 8:56 Tuesday

如果在Windows下使用php链接SQL Server,按照正确的常规配置会出现以下问题

PHP去除了php.ini中;extension=php_mssql.dll前面的注释后Apache仍然无法加载php_mssql.dll。

在PHP中使用mssql_connect()函数时报以下错误

Call to undefined function mssql_connect()

错误日志中记录的内容为PHP Startup: Unable to load dynamic library 'D:\\WebService\\php-5.2.8-Win32\\ext\\php_mssql.dll'

网上查找资料后发现出现这个问题其实是少了一个NTwdblib.dll,而这个动态连接库文件是是SQL SERVER客户端连接库,如果本机安装有SQL Server2000/2005的客户端就不会出现这个问题。找到一个NTwdblib.dll文件后放置到System32文件夹中即可解决这个问题。

 

文件附件:
NTWDBLIB.zip 116.88 Kb

标签: php

关闭SVN服务(TSVNCache.exe进程)的方法

2009-2-11 16:56 Wednesday

在Windows下使用SVN,通常都会安装TortoiseSVN,安装后会有一个TSVNCache.exe的进程驻留内存,这个进程会定时地去扫描Subversion管理的文件夹/文件是否被修改了,一旦发现有更新,那本地的这些有更新的文件/文件夹就会被更新,这个动作不仅会占用10-50MB左右的内存,而且也会在执行的瞬间占用超过CPU 50%的负载。

这个进程还是影响到了PC的使用性能,根据实际需要,一般可以停了它:
打开任意的文件夹–>右键–>TortoiseSVN–>settings–>look and feel–>Icon Overlays–>Status cache 设为"none"就可以了。

via

标签: 享受编程

ie6下不运行gzip压缩后javascript代码的Bug

2008-12-10 22:35 Wednesday

这是我在项目中遇到的问题:

为了提高客户端javascript文件的加载速度,我将所有的javascript代码通过php进行gzip压缩后再发给浏览器,原来200多kb的脚本文件压缩后之只有30多kb,浏览加载速度非常快用户体验很好,但是奇怪的问题出现了,在ie7,firefox下运行的非常良好的脚本到了ie6下就没了反应,每次都要刷新网页后才脚本才能运行.

跑到微软那一查,给的答复让我吐血:

Do not enable HTTP compression for the script files

请不要对脚本文件开启http压缩

只好在服务器端增加对浏览器的识别代码,如果是ie6,就不压缩脚本文件了

虽然脚本能运行了,可是用户体验就...

哎,我恨ie 6

标签: JavaScript 网页开发 原创

ie6下iframe标签内容无法显示页面的Bug

2008-12-10 22:13 Wednesday

这是在项目中遇到的问题:

在项目后台操作页面采用了2个iframe标签来显示不同的菜单内容,页面在ie7和firefox下显示一切正常.但是客户那里一旦采用ie6的电脑浏览就会有90%的几率显示"该页无法显示",需要刷新好几次后方能正常显示内容。把iframe中页面的路径放在地址栏中访问,却一切正常。

很明显,这是一个ie6的Bug,我想了好几天排除了很多可能都没有解决,最后在无意中修改了一下iframe的属性代码后,这个问题居然就好了,天哪,太神奇了...

这是原来会出现页面无法显示代码:

<iframe src="/system/index/left" name="left" id="left" frameborder="0" height="90%" scrolling="yes" width="100%" style="Z-INDEX: 1;WIDTH:100%; HEIGHT:100%;OVERFLOW: visible" ></iframe>

这是修改过后解除问题的代码:

<iframe name="left" id="left"   frameborder="0" height="90%" scrolling="yes" width="100%" style="Z-INDEX: 1;WIDTH:100%; HEIGHT:100%;OVERFLOW: visible" src="/system/index/left"></iframe>

区别在哪里?

就是src属性的位置,只要这个属性不直接跟在<iframe的后面,就不会在ie6下触发这个bug.

另外经过多方更换关键字终于在google中找到有人跟我一样的情况:

参见:http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=2911632&SiteID=14

很难遇到的bug,在此记录

标签: 网页开发 原创