从去年09月03日Google Chrome发布至今,我们收到了来自网站管理员和开发者很多关于如何才可以让网站在Google Chrome下完美显示的问题。事实上,这些问题都很有洞察力,对我们团队也很有启发性。现在,我就告诉大家一些有帮助的方法建议,以期你的网站能在Google Chrome浏览器下完美显示。
检测Google Chrome
大部分站点在Safari和Google Chrome浏览器下都有相同的显示结果,因为这两款浏览器都基于WebKit引擎。如果你的网站在Safari下显示正常,那它在Google Chrome下也会正常显示,不会有异常问题。
相对其他浏览器,由于Google Chrome还太“年轻”,很多网站将Google Chrome与其他浏览器混为一谈。如果你发现网站在Safari浏览器下显示正常,在Google Chrome下却一团糟的话,那很有可能是由于网站本身不识别Google Chrome的“用户代理字符串(Chrome's user-agent string)”。
当平台和浏览器将WebKit作为渲染引擎时,你的网站可以用正确的Javascript检测权自动检测并支持他们(指平台和浏览器)。通常,网站用Javascript来嗅探浏览器“navigator.userAgent”的值属性,但如果可以,应该确保使用恰当的对象检测。事实上,Gmail在Google Chrome第一天就已经可以正确检测WebKit。
如果网站必须检测“用户代理字符串”,你可以使用下面列出的简单的Javascript代码来检测WebKit:
var isWebkit =
navigator.userAgent.indexOf("AppleWebKit") > -1;
如果你想检测WebKit的版本,或者如果你想使用一款更好的WebKit特色:
var webkitVersion =
parseFloat(navigator.userAgent.split("AppleWebKit/")[1]) ||
undefined;
if (webkitVersion && webkitVersion > 500 ) {
// use spiffy WebKit feature here
}
这里列出浏览器版本与WebKit相匹配的版本,以供参考:
| 浏览器 | WebKit版本 |
| Chrome 1.0 | 525.19 |
| Chrome 2.0 beta | 530.1 |
| Safari 3.1 | 525.19 |
| Safari 3.2 | 525.26.2 |
| Safari 4.0 Beta | 528.16 |
我们不推荐将“Google”或“Apple”添加到navigator. Vendor检测中来检测WebKit或者Google Chrome,因为这可能无法检测其他基于WebKit或者Chromium的浏览器。
其他有用的建议
Google Chrome不支持ActiveX控件,但支持NPAPI插件。这意味着在Google Chrome下,可以像Safari和Firefox浏览器一样,网站可以显示Flash和Java等插件内容。
如果网站的文字在Google Chrome下显示有些小。这就提醒你一定要确保在HTTP响应头提供适当的内容类型和字符编码信息。
不要把块元素(block element)放到内联元素(inline element)内。
错误的表示: <a><div>This will look wrong.</div></a>
正确的表示: <div><a>This will look right!</a></div>
如果网站的Javascript在Google Chrome下不起作用,你可以用Google Chrome的内置Javascript调试器调试。Javascript调试器在以下目录:开发人员 ——> 调试JavaScript——>打开JavaScript调试页(快捷键是Ctrl+Shift+L)。
为了更好的帮助网站管理员和开发者及时找到更多的答案,我们提供了Google Chrome讨论论坛。你可以到这里反馈信息、提出建议。
原文(英文)自:http://googlewebmastercentral.blogspot.com/2009/03/helping-your-site-look-great-with.html
本文系 对啊博客 原创文章,转载请注明出处:www.duia.org
