-
经常更换服务器,对网站优化的影响
Posted on 六月 25th, 2011 by sever
最近接了个新站 格兰富水泵 (http://www.grundfosnj.com) 的网站优化工作。
因为原站点用两个域名绑定同一个服务器,现在我新做WEB,将两个站点区分开来。
所以,www.grundfosnj.com 更换的一起服务器。当然这次更新因为新站优化的代码,让百度对网站内容收录增加了200多页。
也许几DNS解析问题,也许是客户原来服务商做恶,晚上讲域名又解析回原IP,导致站点收录回档,由6月21日变成了6月9日。
我与6月23日解析回来,6月24日的刷新结果,百度收录只剩首页了。
这种不稳定的IP更换,让百度直接减少收录。
今日6月25日,但快照仍然为6月23日,故此记录,看多长时间能恢复增加收录。
提醒站长朋友,做SEO,尽量选择稳定的服务器,而且尽量不要常换IP
-
网页设计标准尺寸多少像素才合适
Posted on 三月 11th, 2011 by sever
在进行网页布局设计时,进行界面网页的宽度尺寸设计都比较迷茫,800*600尺寸及1024*768尺寸的分辨率下,网页应该设计为多少像素才合适呢?太宽就会出现水平滚动条了,下面我们就网页设计的标准尺寸进行讲解。
网页设计标准尺寸:
1、800*600下,网页宽度保持在778以内,就不会出现水平滚动条,高度则视版面和内容决定。
2、1024*768下,网页宽度保持在1002以内,如果满框显示的话,高度是612-615之间。就不会出现水平滚动条和垂直滚动条。
3、在ps里面做网页可以在800*600状态下显示全屏,页面的下方又不会出现滑动条,尺寸为740*560左右
4、在PS里做的图到了网上就不一样了,颜色等等方面,因为WEB上面只用到256WEB安全色,而PS中的RGB或者CMYK以及LAB或者HSB的色域很宽颜色范围很广,所以自然会有失色的现象。
页面标准按800*600分辨率制作,实际尺寸为778*434px
页面长度原则上不超过3屏,宽度不超过1屏
每个标准页面为A4幅面大小,即8。5X11英寸
全尺寸banner为468*60px,半尺寸banner为234*60px,小banner为88*31px
另外120*90,120*60也是小图标的标准尺寸
每个非首页静态页面含图片字节不超过60K,全尺寸banner不超过14K
标准网页广告尺寸规格:
一、120*120,这种广告规格适用于产品或新闻照片展示。
二、120*60,这种广告规格主要用于做LOGO使用。
三、120*90,主要应用于产品演示或大型LOGO。
四、125*125,这种规格适于表现照片效果的图像广告。
五、234*60,这种规格适用于框架或左右形式主页的广告链接。
六、392*72,主要用于有较多图片展示的广告条,用于页眉或页脚。
七、468*60,应用最为广泛的广告条尺寸,用于页眉或页脚。
八、88*31,主要用于网页链接,或网站小型LOGO。
广告形式 像素大小 最大尺寸 备注
BUTTON 120*60(必须用gif) 7K
15*50(必须用gif) 7K
通栏 760*100 25K 静态图片或减少运动效果
430*50 15K
超级通栏 760*100 to 760*20 共40K 静态图片或减少运动效果
巨幅广告 336*280 35K
585*120
竖边广告 130*300 25K
全屏广告 800*600 40K 必须为静态图片,FLASH格式
图文混合 各频道不同 15K
弹出窗口 400*300(尽量用gif) 40K
BANNER 468*60(尽量用gif) 18K
悬停按钮 80*80(必须用gif) 7K
流媒体 300*200(可做不规则形状) 30K 播放时间小于5秒60帧(1秒/12帧)
网页中的广告尺寸:
1、首页右上,尺寸120*60
2、首页顶部通栏,尺寸468*60
3、首页顶部通栏,尺寸760*60
4、首页中部通栏,尺寸580*60
5、内页顶部通栏,尺寸468*60
6、内页顶部通栏,尺寸760*60
7、内页左上,尺寸150*60或300*300
8、下载地址页面,尺寸560*60或468*60
9、内页底部通栏,尺寸760*60
10、左漂浮,尺寸80*80或100*100
11、右漂浮,尺寸80*80或100*100以上几种说法可能有点小的出入,大家可以探讨一下。
IAB和EIAA发布新的网络广告尺寸标准
在这6种格式中,除了去年iab发布的4种“通用广告包”中的格式:160×600, 300×250, 180×150及728×90,还包括新公布的468×60 和120×600(擎天柱)2种
-
asp传值到utf-8.net 中文Request.QueryString编码
Posted on 三月 8th, 2011 by sever
asp页面中页面向一个aspx页面(c#)传一个中文
不能正常接收,于是我把汉字转换,Server.UrlEncode( “苏州 “)
接收不到.这个编码是ASCI的
而手动把中文转换为utf8编码后,是可以接收到的
asp中怎么把中文转换为utf8编码啊
各位大大,求助!!!
感激涕零 看到一个文档,还是不知道怎么解决?
先看下面两个Url,他们传递的参数一样么??
aaa.aspx?tag=.net%bc%bc%ca%f5
aaa.aspx?tag=.net%e6%8a%80%e6%9c%af
看起来好像是不一样,其实他们都是对”.net技术”进行了UrlEncode,不过一个是GB2312的编码,一个是Utf-8的编码。
如下代码就可以获得上面的编码后效果:
string tmp1 = System.Web.HttpUtility.UrlEncode(“.net技术”, System.Text.Encoding.GetEncoding(“GB2312″));
string tmp2 = System.Web.HttpUtility.UrlEncode(“.net技术”, System.Text.Encoding.UTF8);
我们实际的Web页面,可能会被其他程序调用。
比如:简体中文操作系统上的一个ASP页面,需要向一个ASP.net页面传递一个带中文的参数。
默认情况下,简体中文操作系统上, ASP 的 Server.UrlEncode 方法会把中文以GB2312的编码进行编码,
但是默认情况下,ASP.net的页面是采用的UTF-8编码。
这种情况下,你在用 Request.QueryString["Tag"] 接受值的时候会接受不到中文信息,单步调试看到的是乱码。
这时候虽然用Request.QueryString["Tag"] 接受的是乱码,但这时候的Url并不是乱码。
解决方法就是自己分析Url中的参数,然后对参数的值按照 GB2312的编码反解密,而不是用.net 默认的Utf-8的编码反解密。
其实微软类似的提供了相应的函数,我们不必自己用正则表达式去分析url字符串了。
演示代码如下:
string q = Request.Url.Query;
System.Collections.Specialized.NameValueCollection nv =
System.Web.HttpUtility.ParseQueryString(q, System.Text.Encoding.GetEncoding(“GB2312″));
Response.Write(nv["Tag"]);
我们用 Lutz Roeder’s .NET Reflector 来看 System.Web.HttpUtility.ParseQueryString 方法的实现:
一直反查进去,我们可以看到最终处理Url参数字符串分析的代码如下:
System.Web.HttpValueCollection 类的如下函数实现了对Url参数的解析
这里我们看到,它是自己一个个字符进行的分析。
internal void FillFromString(string s, bool urlencoded, Encoding encoding)
{
int num1 = (s != null) ? s.Length : 0;
for (int num2 = 0; num2 < num1; num2++)
{
int num3 = num2;
int num4 = -1;
while (num2 < num1)
{
switch (s[num2])
{
case ‘=’:
if (num4 < 0)
{
num4 = num2;
}
break;
}
num2++;
}
string text1 = null;
string text2 = null;
if (num4 >= 0)
{
text1 = s.Substring(num3, num4 - num3);
text2 = s.Substring(num4 + 1, (num2 - num4) - 1);
}
else
{
text2 = s.Substring(num3, num2 - num3);
}
if (urlencoded)
{
base.Add(HttpUtility.UrlDecode(text1, encoding), HttpUtility.UrlDecode(text2, encoding));
}
else
{
base.Add(text1, text2);
}
if ((num2 == (num1 - 1)) && (s[num2] == ‘&’))
{
base.Add(null, string.Empty);
}
}
}
至于对方传递给自己的是哪种编码方式,最好也一并作为参数传递过来,这样我们就可以根据用户的这个参数进行解密操作。 -
新站上线,南京汽车租赁公司的排名
Posted on 三月 6th, 2011 by sever
前几天,一个南京汽车租赁公司的朋友介绍的另一个南京业鸣汽车租赁公司找我做网站优化
有意思是,这家公司的老板已经早了两家网络公司做优化,无奈半年无果,现在看我表演如何讲另两个竞争对手比下去
今天新站:南京业鸣汽车租赁有限公司(http://www.njymzl.com) 正式上线,
刚才发了几篇相关软文,已经被百度收录。只是那只百度蜘蛛,爬到我的新站域名前嗅了嗅,觉得菜还没熟,掉头走了,哈~
不过,哥知道小蜘蛛的习性,其实大家都知道地,蜘蛛喜欢吸血嘛,当然越新鲜越好,所以哥不断的造血。
哥吃的是菠菜,嘎嘎~
今天是第一天,大家来鉴证,百度蜘蛛什么时候来爬偶的 http://www.njymzl.com
老艾之家提醒:转载注明(转自: http://www.looi.com.cn/?p=514 )
-
外链与内链,对百度排名的影响
Posted on 三月 4th, 2011 by sever
最近几个站上来得比较慢,例如:南京庆典礼仪 (http://www.njycjx.com )
新站刚上线,开始收录蛮多页面的,排名也到了第二页,可两周后,收录就只剩首页,排名下滑。
我认为,可能是被百度降权,但也曾有很多站点被百度拔毛,但排名不受影响
更多的,是内部链接太少,内容太少。
而最近,其他的攒点排名上的也比较慢。但有的站点,突然就上来的。
我预测,类似“百度知道”,内链的影响很大
-
自动提交表单
Posted on 二月 22nd, 2011 by sever
方法一:
<html>
<head>
<title>Untitled Document</title>
(1)自动提交表单:
<meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″>
</head>
<script language=javascript>
setTimeout(“document.form1.submit()”,10000)
</script>
<body bgcolor=”#FFFFFF” text=”#000000″>
<form name=”form1″ method=”post” action=”pp.asp”>
<p>
<input type=”text” name=”textfield”>
</p>
<p>
<input type=”text” name=”textfield2″>
</p>
</form>
</body>
</html>10秒后提交。
———————————————————————————————————
方法二:
我想打开一页a.htm时定时以表单形式向服务器b.htm提交数据,就好像申请100个邮箱,可以实现么?
—————————————————————<form name=”form1″>
</form>
<script>
setInterval(“document.all.form1.submit()”,5000)
</script>5秒一次!
—————————————————————1.xmlhttp
2.<form action=”" name=frm1 target=_blank method=post>
</form>
<script>
setTimeout(“frm1.submit();”,3000);
</script>
—————————————————————采用 window.setInterval和window.clearInterval 操作,比如下面脚本就是这样实现:
<script language=”Javascript”>
var FormOBJ=document.forms["FormName"];
var SOBJ;//设置自动提交最大次数
var Max=100;//表单提交函数
function submitForm()
{
if (FormOBJ&&Max>0)
{
FormOBJ.action=”b.htm”;//提交到的页面
FormOBJ.target=”_blank”;//用新窗口处理提交
FormOBJ.submit();//执行提交
Max–;
}
else
submitInt();
}//中断自动提交函数
function submitInt()
{
if (SOBJ)
{
window.clearInterval(SOBJ);
Max=100;
}
}//开始自动提交函数
function submitStart()
{
//设置每秒钟提交表单一次
SOBJ=window.setInterval(“submitForm()”,1000);
}
</script>
可以在页面中设置两个按钮,分别执行submitStart()开始,submitInt()终止。其中“FormName”为要提交的表单名。同时要注意把脚本放在form后面。 -
form的自动提交
Posted on 二月 22nd, 2011 by sever
这两天做一个接口时,发现要实现一个表单的自动提交的功能。主要是:
页面A里有个表单,要将参数POST到页面B,页面B要接受这些参数,并且把这些参数
用隐藏域保存起来,同时B页面要把这些隐藏域的参数呢,又要POST(记得是POST)到页面C中去,但用户又不可能看到页面B,
实现起来,转个弯去实现如下a.php:
<form action=”b.php” method=”post”>
</form>b.php
<script language=”javascript”>
function onload()
{
document.frm1.submit();
}
</script>
</head>$参数1=$_post["参数1"]
………………..
<div id=”1″ style=”visibility:hidden”> (用一个隐藏的层,里面放个form)
<form action=”c.php” method=”post”>
<input hidden>………….</form>
<body onload=”onload()”> -
form表单GB2312转UTF-8的处理
Posted on 二月 17th, 2011 by sever
A 域下的网页编码格式是 GBK www.A.com 提交一个查询信息:搜索 XXX
B 域下的网页编码格式是 UTF-8 www.B.com 中对外有 search.do
在 A 域下提交form表单 POST 到 B 域下的某个相应的 action通常方法:
从HTML页面提交到 action 我们可以考虑在servlet中转码再转发,不过这样好像太麻烦不如在发送的时候就编码好了再请求FF与IE在HTML页面中解决方法及区别:
FF支持 accept-charset (W3C标准)
万恶的IE需要在提交的时候指定charset
Html代码
<form name=”xxForm” method=”post” accept-charset=”utf-8″ onsubmit=”document.charset=’utf-8′;” action=”http://www.B.com/search.do“>
… …
<input type=”submit” value=”提交”>
</form><form name=”xxForm” method=”post” accept-charset=”utf-8″ onsubmit=”document.charset=’utf-8′;” action=”http://www.B.com/search.do“>
… …
<input type=”submit” value=”提交”>
</form>JS提交表单,IE需要注意的问题:
如果使用的是JS方式提交表单,那么应该在document.xxForm.submit()前使用 document.charset=’utf-8′; 将编码格式转换成 utf-8,此时form中的onsubmit就没有作用了 删除之其他get方式提交表单例子:
对于百度来说就可以提交一个get请求到
http://www.baidu.com/s?wd=这里是你要搜索的东西
使用世界之窗浏览器的人会发现最后使用右上角的搜索,地址栏会有 &ie=utf-8,通过这种方式告诉百度传入的编码格式,默认在百度中搜索就不存在编码问题了同样适用百度搜索
Url代码
世界之窗:
http://www.baidu.com/s?wd=hello&tn=ichuner_1_dg&ie=utf-8
百度默认搜索:
http://www.baidu.com/s?wd=hello世界之窗:
http://www.baidu.com/s?wd=hello&tn=ichuner_1_dg&ie=utf-8
百度默认搜索:
http://www.baidu.com/s?wd=hello同样搜索 hello 这个词,因为存在跨域问题,因此世界之窗加入了编码格式字段并加入了广告成分,”tn=ichuner_1_dg” 这个估计和搜索分成有关吧…
这东西蛮有用的哦
-
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)(附带解决DHTMLX不能用在GB2312页面编码下的中文问题)
Posted on 二月 17th, 2011 by sever
- 在数据发送一方,利用 javascript 的 escape 函数事先将所有中文转换成英文编码并保存(也可以用 ASP 等其它语言的函数实时转换输出)。
- 在数据接收一方,利用 javascript 的 unescape 函数将所有英文编码还原。
由于 Ajax 不论任何编码都能正常传送英文,所以用这种方法可以轻松解决。
用XMLHTTP Post Form时的表单乱码有两方面的原因——Post表单数据时中文乱码;服务器Response被XMLHTTP不正确编码引起的乱码。换句话说,本文主要解决两个问题——怎样正确Post中文内容&怎样正确显示得到的中文内容。Part I Post中文内容
先看看E文的表单是怎么提交的:
<SCRIPT language=”JavaScript”>
strA = “submit1=Submit&text1=scsdfsd”;
var oReq = new ActiveXObject(“MSXML2.XMLHTTP”);
oReq.open(“POST”,”http://ServerName/VDir/TstResult.asp”,false);
oReq.setRequestHeader(“Content-Length”,strA.length);
oReq.setRequestHeader(“CONTENT-TYPE”,”application/x-www-form-urlencoded”);
oReq.send(strA);
</ScRIPT>如果把strA = “submit1=Submit&text1=scsdfsd”;换成:
strA = “submit1=Submit&text1=中文”;你会发现提交上去的东东根本不对,ASP中Request.Form(“Text1″)根本取不到值。俺用Request.BinaryRead把一个HTML Form中的Post内容写出来看了看,才发现问题——Form提交时也要编码的,编码后的中文是类似于%??%??的转义字符,比如“中文”就被编码为:%D6%D0%CE%C4。呵呵,也怪俺笨,人家CONTENT-TYPE里明明写的清清楚楚——application/x-www-form-urlencoded,urlencoded嘛当然就是这个样子了。既然这样,那我们也知道该怎么办了——自己做转换,代码见下:
<SCRIPT language=”VBScript”>
Function URLEncoding(vstrIn)
strReturn = “”
For i = 1 To Len(vstrIn)
ThisChr = Mid(vStrIn,i,1)
If Abs(Asc(ThisChr)) < &HFF Then
strReturn = strReturn & ThisChr
Else
innerCode = Asc(ThisChr)
If innerCode < 0 Then
innerCode = innerCode + &H10000
End If
Hight8 = (innerCode And &HFF00)\ &HFF
Low8 = innerCode And &HFF
strReturn = strReturn & “%” & Hex(Hight8) & “%” & Hex(Low8)
End If
Next
URLEncoding = strReturn
End FunctionstrA = URLEncoding(“submit1=Submit&text1=中文”)
oReq = CreateObject(“MSXML2.XMLHTTP”)
oReq.open “POST”,”http://ServerName/VDir/TstResult.asp”,false
oReq.setRequestHeader “Content-Length”,Len(strA)
oReq.setRequestHeader “CONTENT-TYPE”,”application/x-www-form-urlencoded”
oReq.send strA
</SCRIPT>(在这里俺把前面的JavaScript的代码改成了VBScript,不是吃饱了撑的没事干,原因见后)
Part II.正确显示得到的中文内容
OK,如果你在Server端把Form的内容写到数据库/文件的话,你在那里看到的中文毫无问题,但是,假如你想看看Server的Response——问题来了:如果Response的结果不是XML,XMLHTTP.responseXML里当然是不会有东东的,那就用responseText好了,在代码的最后加一句:
alert(oReq.responseText)
看看俺们辛勤劳动的结果
但是但是…..怎么所有的中文全变成了方格? (我打不出来,有兴趣自己去试,也不用Post,Get一个含有中文的网页就可以发现了。)
原因很简单:XMLHTTP得到Response时假定Response是UTF8编码的,如果Response是XML,那还可以通过encoding来指定编码,但HTML就不行了。(见鬼的GB2312,再次打倒!)所以它把含GB2312编码的HTML当成UTF8格式,不出错才有鬼!
不过好在还有补救的办法:XMLHTTP的responseBody 属性里包含的可是未解码的Resonse——”a raw undecoded bytes as received directly from the server” :),唯一的问题是,responseBody返回的是一个unsigned bytes数组,我们怎么去访问它,怎么把它转换成BSTR?
这就是为什么我在上面把代码改成VBScript的原因——VBScript Can do it,but JavaScript Cannot!
代码见下:
<SCRIPT language=”VBScript”>
Function URLEncoding(vstrIn)
strReturn = “”
For i = 1 To Len(vstrIn)
ThisChr = Mid(vStrIn,i,1)
If Abs(Asc(ThisChr)) < &HFF Then
strReturn = strReturn & ThisChr
Else
innerCode = Asc(ThisChr)
If innerCode < 0 Then
innerCode = innerCode + &H10000
End If
Hight8 = (innerCode And &HFF00)\ &HFF
Low8 = innerCode And &HFF
strReturn = strReturn & “%” & Hex(Hight8) & “%” & Hex(Low8)
End If
Next
URLEncoding = strReturn
End FunctionFunction bytes2BSTR(vIn)
strReturn = “”
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End FunctionstrA = URLEncoding(“submit1=Submit&text1=中文”)
oReq = CreateObject(“MSXML2.XMLHTTP”)
oReq.open “POST”,”http://ServerName/VDir/TstResult.asp”,false
oReq.setRequestHeader “Content-Length”,Len(strA)
oReq.setRequestHeader “CONTENT-TYPE”,”application/x-www-form-urlencoded”
oReq.send strA
alert bytes2BSTR(oReq.responseBody)
</SCRIPT>—————————————-以上为转载—————————–
Start Building Professional Ajax
Web Applications Today最近用了 DHTMLX的tree,中文的xml居然用不了,报错,整个系统是GB2312的,而DHTMLX只支持UTF8,英文是正常的,中文就出错。
用法也很简单,是DHTMLX 演示里用的代码。
var obj=document.getElementById(oid);
obj.style.display=”block”;
obj.focus();
if(obj.innerHTML!=”")return;
tree=new dhtmlXTreeObject(oid,”100%”,”100%”,0);
tree.setImagePath(“js/imgs/csh_vista/”);
tree.setOnClickHandler(click1);
tree.setXMLAutoLoading(“tree.asp”);
//load first level of tree
tree.loadXML(“tree.asp?id=0″);tree.asp编码为gb2312,和整个系统一致,用response.write返回一个xml
整个系统编码改不了,只有在DHTMLX上想办法了。
查了些资料,最终解决了。
再深入一层发现是,Microsoft.XMLHTTP的原因,就查到了上面的文件。
如是就简单了,修改如下:
1. 增加一个VBScript的中文转换的函数
<script language=”VBScript”>
‘处理中文
function bin2str(bin)
dim tmp,ustr,i
tmp=”"
for i=1 to LenB(bin)-1
ustr=AscB(MidB(bin,i,1))
if ustr>127 then
i=i+1
tmp=tmp&chr(ustr*256+AscB(MidB(bin,i,1)))
else
tmp=tmp&chr(ustr)
end if
next
bin2str=tmp
end function
</script>2.dhtmlxcommon.js的 getXMLTopNode处
var xmlString = this.xmlDoc.responseText;
改为
var xmlString = bin2str(this.xmlDoc.responseBody);//可以在js里直接调用VBScript脚本
3.同时 在输出xml的asp 文件开头加入
<%response.ContentType=”application/xml”%>
<?xml version=’1.0′ encoding=’GB2312′?>当然文件也是保存为gb2312格式的。
-
2月13号,情人节的前一天,百度打不开了
Posted on 二月 13th, 2011 by sever
不知道今天百度是在准备鲜花,还是春节后百度服务器休息,呵呵。开个玩笑~
也许又被黑了? 反正百度打不开了