在生产服务器上,我观察JS错误并发送到服务器:
<script type="text/javascript">
window.onerror=function(msg,url,line) {
if (window.XMLHttpRequest)
{
var xmlhttp = new XMLHttpRequest();
}
else
{
var xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.open('POST', '/logJSerrorsHere', true);
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send('msg='+encodeURIComponent(msg)+'&url='+encodeURIComponent(url)+'&line='+line);
return true;
}</script>
有时它会记录一些"神秘"错误:"$ is not defined",但所有这些错误都来自"GoogleBot(at)googlebot.com"或SpiderBot。我应该处理它吗?
取决于:)如果您的网站在没有Javascript的情况下是可读和可索引的(并且您的网站在搜索中可见),我不会太担心它,除非您觉得错误表明存在更大的问题。您可以使用 Google 网站站长工具中的抓取和呈现功能对此进行测试。
如果你的网站依赖于Javascript来呈现页面(例如,它使用AngularJS),那么是的,修复它。