解决“代码未生效”
你可能像我一样,使用百度统计来统计网站的访问情况,但是我在按照官方给的方法添加入我的js统计代码时,在百度统计管理台检查显示“代码未生效”。
我的网址其实是一个用于跳转的页面,目的是跳转到其他页面
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>百度统计代码示例</title>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</head>
<body>
</body>
<script>
window.location.href="http://xxxxxxxxxxxxxx";
</script>
</html>
首先我的添加统计代码的方式符合官方给的步骤。但是在检查却显示未生效。我查看chrome控制台没有任何异常。
这里是官方给的安装步骤,你首先也要保证不违背官方的步骤。
- 1. 请将代码添加到网站全部页面的</head>标签前。
- 2. 建议在header.htm类似的页头模板页面中安装,以达到一处安装,全站皆有的效果。
- 3. 如需在JS文件中调用统计分析代码,请直接去掉以下代码首尾的,<script type="text/javascript">与</script>后,放入JS文件中即可。
如果代码安装正确,一般20分钟后,可以查看网站分析数据。
然后我在chrome中并没有查看到异常,但在firefox火狐浏览器中看到了<script>加载失败的warning但不是error (但是具体的我忘记保留了,大概就是script标签加载失败的说明)
后来,我将代码进行了调整,然后解决了问题。
其实,这是页面跳转太快的原因,在百度统计代码还没有加载完的时候,就发生了跳转,所以失败。所以只要保证页面加载完毕即可,这里使用window.onload来控制。
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>百度统计代码示例</title>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</head>
<body>
</body>
<script>
window.onload=function(){
window.location.href="http://xxxxxxxxxxxxxx";
};
</script>
</html>
补充
根据我在搜索引擎上检索的其他案例,其他“代码未生效”的问题基本上都是没有按照官方给的步骤进行操作。