技术研究
出错也只是自己知道就得了,如何屏蔽Js页面报错
错误总归会有的,自己调,自己知道就好了,别显示了
现在我们来屏蔽js报错
<SCRIPT LANGUAGE=’JavaScript’>
<!–
//屏蔽js错误
function ResumeError() {
return true;
}
window.onerror = ResumeError;
// –>
</SCRIPT>
如何解决linux下apache启动时httpd: apr_sockaddr_info_get() failed for 报错
配置一台云服务器,干干净净的系统,我用Yum安装了apache后,发现启动时候报错
httpd: apr_sockaddr_info_get() failed for xxxx
虽然启动还算正常,但不知道会不会有什么影响。
google之后找到了解决办法:有两个方向,如下
这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName 所以它会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。
所以要解决这个问题可以设定 ServerName 或者在 /etc/hosts 中填入自己的主机名称 MYHOST,像这样:
>vi /etc/hosts
127.0.0.1 localhost.localdomain localhost MYHOST
或者是
将httpd.conf中的ServerName 前面的 # 去掉。
apache 2.2 的虚拟机的配置放置在conf/extra/httpd-vhosts.conf 中
如何解决PHP XML RPC中文乱码问题
为了一个项目在做XMLRPC的应用。发现项目服务器上没有XMLRPC组件,又要重新编译PHP,头大…
找了很多资料发现,国外的一个叫PHPXMLRPC的开源代码很好用。直接代替XMLRPC组件。他在GOOGLE有托管。国内用的还不多,很多东西都要自己摸索着搞。
这个PHPXMLRPC写的很好,我们只要把它用到的时候加载进来,然后NEW一下就好。以下是我这里总结的相对好用的用法
//载入相关文件
require ‘xmlrpc.inc’;
$forxmlrpc = array(); //初始化数组,传输必要参数
$forxmlrpc['title'] = $content['title'];
$forxmlrpc['contentid'] = $contentid;
$f=new xmlrpcmsg(’popcms.new’,array(new xmlrpcval(1, “int”),new xmlrpcval(’murray’, “string”),new xmlrpcval(’123′, “string”),php_xmlrpc_encode($forxmlrpc))); //新建一个XML格式
$c=new xmlrpc_client(”xmlrpc.php”, “www.popcms.net”, 80); //新建一个客户端
$c->request_charset_encoding = ‘utf-8′; //初始化时的编码格式,如果有中文,这一点是必须的,不然有乱码
$c->setDebug(1); //开启出错选项
$r=&$c->send($f); //发送请求
//以下是调试返回数据的代码
if(!$r->faultCode())
{$v=$r->value();
print “</pre><br/>State number ” . $stateno . ” is “. htmlspecialchars($v->scalarval()) . “<br/>”;
}else{
print “An error occurred: “;
print “Code: ” . htmlspecialchars($r->faultCode()). ” Reason: ‘” . htmlspecialchars($r->faultString()) . “‘</pre><br/>”;
}
虽然现在可以正常发送接收数据,但是还是会出现传递过程中的中文乱码。
原来PHPXMLRPC会自动转换编码,但提交后是乱码,是因为默认指定的是ISO-8859-1编码,而这个参数就是xmlrpc_internalencodeing,具体的操作步骤是:
打开?xmlrpc.inc 第222行, 将
$GLOBALS['xmlrpc_internalencoding']=’ISO-8859-1′;
改成
$GLOBALS['xmlrpc_internalencoding']=’UTF-8′;
至此XMLRPC的中文乱码问题解决了。
EDM 电子邮件营销的模板制作规范
最近在搞EDM,这种页面做起来比较搞,刚开始以为EBAY在故意为难人呢,原来这些规范真的是有用。大家分享下吧
1,模板编码语言选择
模板编码设定与使用的发送软件有关,一般来说,utf-8为较常用的选择,错误的编码会造成用户浏览的时候出现乱码;
2,不要使用div,使用最简单的嵌套table定位
Div+css是近几年新兴的web2.0定位方式,这种方式不适合在邮件模板切割中使用,不同邮件客户端或在线浏览器对css模型解释不尽相同,会造成错位或布局混乱等问题。
同时也不要使用单一table重复多次colspan,可能会被邮件客户端判断为结构过于复杂,归类为垃圾邮件;同时也容易被打乱布局而影响用户浏览。
3,图片与文本链接规则
模板中所有链接,都必须使用绝对路径;
链接长度不能超过255个字符,不能存在空格,也不能有中文字符,否则可能会导致连接无法追踪;
图片链接不要使用
标签,否则可能被邮件客户端判定为垃圾邮件,甚至被邮件运营商直接屏蔽。
模板中文本文字不能使用过大的字体,否则可能会被邮件客户端判定为垃圾邮件。
4,css样式编写
不要使用外部样式表引用,将样式表写入模板内部,如:
<td style=”padding:6px”>
<a href=”#” style=”font-size: 14px;color:#0c6485″>
<b>邮件模板</b>
</a>
</td>
如果模板有完全相同样式的列表型文本(如新闻列表等),可以吧样式表写在页面内<style></style>中引用,但缺点是在邮件转发过程中经过web编辑器或邮件客户端的编辑,<style></style>被去掉,导致此列表样式变形。这种页面内引用的方式却能节省大量代码,使代码与内容比降低,同时也缩减了模板文件大小,有利于模板评分。
5,图片样式与背景图片颜色使用
模板尽量不要使用背景图片。背景图片在某些邮件客户端或或web界面(如Gmail)中默认不显示。
模板中每张图的地址都一定要用绝对地址,否则会不显示;每张图都要指定alt属性,可以在图片被拦截的时候显示图片的内容;每张图都要指定width宽度、height高度,在图片被拦截的时候,不会因图片大小无法读取而被打乱布局。
body中不要设定背景色,不然在转发邮件的时候,转发人写的信息背景色都会变为被转发邮件的背景色,影响浏览。如果一定要给邮件模板设定整体背景色,请在模板文件最外面加一个table,设定此table的背景色。
<body>
<table width=”100%” border=”0″ cellspacing=”0″
cellpadding=”0″>
<tr>
<td style=”background-color: #520000;”> </td>
</tr>
</table>
</body>
在切割模板的时候,要注意限制图片的大小和数量,不要为了效果使图片过大,会使邮件接收者打开过于缓慢,甚至直接关闭邮件。
更不要完全把模板切为图片形式,那样会在图片被拦截的时候使用户看不到内容,并且很可能会直接被邮件运营商或邮件客户端认定为垃圾邮件。
6,模板html标签规则
尽量不要使用提交表单;
padding和margin标签:table中,某些邮件客户端或web界面(如Gmail),对浮动的标签(padding、margin等)支持很差,所以尽量不要使用;
float浮动标签:某些邮件客户端不支持浮动属性,尽量避免使用。
在页面内调用<style></style>的情况下,尽量不要使用<h2>、<ul>、<li>、<p>、<ol>等有默认样式的标签,防止<style></style>被隔离时页面布局混乱。
7,动画与互动元素的处理
可以使用简单的gif动画来表达某些需要明显突出的要素,但要控制gif文件的大小,不要影响整封邮件的下载浏览速度;
不要使用flash动画或JavaScript Active等,前些年邮件病毒泛滥,大部分邮件运营商都已经屏蔽了这些元素。
8,使用所见即所得工具,在制作完成后手动优化代码
使用主流所见即所得工具可以节省大量时间、提高工作效率,但所见即所得工具生成的代码会有许多垃圾代码掺杂其中,最好在制作完成后手动优化。
9,邮件附件夹带
邮件一定不要夹带附件,发送大量附件会占用大量珍贵的网络带宽,切大部分附件用户根本不会打开,这部分占用的带宽基本都是浪费的。
带有附件的邮件有很大可能被用户认为是病毒,对品牌产生不良影响。
在模板上设置下载按钮,链接到网站上下载页面,还可以给网站带来一部分流量,何乐而不为。
如何解决centos下的ntop报错:**ERROR** ….open of /var/ntop/prefsCache.db failed:
公司要求对游戏服务器的流量进行检测,我就想到了NTOP,再centos下用Yum顺利的安装并启动了Ntop后。
它不知何故自动停掉了,然而当我再次输入Ntop命令的时候,它出现报错并退出
Sun Oct 17 00:56:57 2010 NOTE: Interface merge enabled by default
Sun Oct 17 00:56:57 2010 Initializing gdbm databases
Sun Oct 17 00:56:57 2010 **ERROR** ….open of /var/ntop/prefsCache.db failed: [...]
如何解决CentOS 5 host命令无效(-bash: host: command not found)的问题
当我们检查DNS设置的时候常常会用到host命令,但Centos5默认安装是没有这个命令的。
当显示-bash: host: command not found的时候,我们就需要安装对应的包了
host这个程序是 bind-utils包里面的
所以要先安装 bind-utils
yum install bind-utils 就ok了
如何设置你的CentOS的时间(如何与时间服务器同步)
安装好CentOS,时间默认不是我们所在的东八区,导致上面运行的游戏,每天下午3点才开始发放当天礼包。
我们可以手动设置时间,但最简单办法,是跟时间服务器同步。
这里我介绍几个靠谱的时间服务器地址
第一个当然是国内官方:中国国家授时中心:
http://www.time.ac.cn/stime.asp
其他的:
time.nist.gov
ntp.fudan.edu.cn (复旦) )(国内用户推荐使用此服务器)
timekeeper.isi.edu
subitaneous.cpsc.ucalgary.ca
usno.pa-x.dec.com
time.twc.weather.com
swisstime.ethz.ch
ntp0.fau.de
ntp3.fau.de
time-a.nist.gov
time-b.nist.gov
time-nw.nist.gov
nist1-sj.glassey.com
在CentOS下具体操作是:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntpdate ntp.fudan.edu.cn
如果没有安装ntpdate的可以yum一下:
yum install ntp
如何选择最适合的美国服务器
国外服务器都是10M独享或者100M独享,甚至还有1000M独享的,不存在共享问题,除非是VPS都是共享的。美国机房速度和稳定方面都非常的有保证。在选择海外服务器最好找一些知名的海外IDC服务商。
1、如果你的网站有大量的图片可以找一个美国速度快点的机房,不需要有硬防的机房才能保证速度通畅。
推荐机房:美国达拉斯机房是全美乃至全球硬软件最强大的机房。美国达拉斯机房共有6个经SAS 70 TypeII 认证的数据中心(2 个在休斯敦,4个在达拉斯)。机房总面积超过180000平方英尺。美国达拉斯机房和多个一线电信运营商合作,接入AT&T,NTT/VERIO 、AboveNet等多条线路,此外与美国圣安娜机房、东部华盛顿机房10G点对点ptp(peering to peering)连接。达拉斯机房速度快,线路稳定,响应火速,机房主要为对服务器稳定要求相当高的大中型企业客户或中小外贸企业客户提供。所有服务器自动监控,工程师能最先发现问题并最快修复,把客户损失降低至0。机房24*365小时不间断提供重启和监控服务,为您扫除服务器租用后顾之忧,让您安心、全心、放心的开拓海外市场
2、如果你是做游戏的或者对安全特别高的,一般都会放高防抗攻击机房。
推荐机房:①:美国亚特兰大机房位于美国东部最大工商业城市亚特兰大,是首批经SAS 70 Type II认证机房之一。亚特兰大机房总面积约75000平方英尺。从地理优势上说,东部机房受自然灾害的影响比西部小。美国亚特兰大机房网络多线路网络接入,一线线路有Internap (10 Gbps)、 BTN (2 Gbps)、nLayer (2 Gbps)、Mzima (2 Gbps)、Telia (2 Gbps)。机房特点:N2+1并联冗余电源;DDOS防护 + 最强大入侵检测系统;Cisco BGP配置路由交换机,智能选择最快最稳路由;工程师提供24*365小时不间断重启和硬软件支持服务,为您扫除服务器租用后顾之忧。 ②:美国加州机房位于美国西部加利福尼亚州(弗里蒙特市)。美国加州机房多条一线线路接入,速度快,线路稳定,IP段多,性价比高。加州机房有游戏专用线路和企业专用线路,互不干涉。加州机房工程师提供24*365小时不间断重启和硬软件支持服务。
3、如果你的网站还是一个小型的网站或者处于起步期,完全可以考虑经济、适用、廉价的美国服务器。
推荐机房:美国哥伦布机房多线路接入Level3、 Global [...]
javascript里的document.all与document.getElementById
从IE4开始IE的object model增加了document.all[],它是文档中所有标签组成的一个数组变量,包括了文档对象中所有元素。因此document.all[]这个数组可以访问文档中所有元素。
而getElementById()可以访问DOCUMENT中的某一特定元素,顾名思义,就是通过ID来取得元素,所以只能访问设置了ID的元素。比如说有一个DIV的ID为docid:
那么就可以用getElementById(”docid”)来获得这个元素。
但实际应用的时候,兼容性却大不一样。有人说ocument.all是个ie only的方法,所以我们必须注意使用
1.页面控件一定要加id。
2.操纵控件最好用document.getElementById
3.推荐几个其他的办法
getElementsByTagName(”*”) 可以得到得到所有元素的集合
getElementsByName 可以得到按name属性得到某一元素
如何解决PHP Error: Permission denied in Unknown on line 0
今天在UCHOME的时候,自己新建了个文件,并上传到新的服务器,可是却莫名其妙的出现这样的出错:
PHP Warning: Unknown(/*****/***.php): failed to open stream: Permission denied in Unknown on line 0
开始以为是自己uchome的程序有问题。经过检查,确认没有程序错误。这个错误提示也太模糊啦,初的一看,真让人一头雾水,不知道从何下手。只好在网上找资料。原来根据错误的提示“Permission denied”,这个可能是文件权限的问题,于是修改权限为777,问题解决。

