腾讯公益404页面无法返回自己首页的问题回复

 2016-09-16 14:09

今天有人在bug里面留言告诉我,主题中的404页面变成了“返回腾讯首页”的页面了。由于留言者未告诉我是哪个主题,我自查了下,发现的确存在这个问题。问题原因是我采用了腾讯公益404的缘故,而它给的两个参数运行时出错了,无法变成正常的页面。

同时我们提供“返回腾讯网”这个超链接的可定制化能力,修改“homePageUrl”、“homePageName”两个参数即可。

404.jpg

关于这个问题,我开始的想法是把整个页面替换掉。后来想想,只要把对应的超链接修改过来即可啊。于是就自己编写了一段JavaScript放置在末端,测试了下成功了。全部404的代码如下:

<!DOCTYPE html>
<html lang="{$language}">
<head>
    <meta charset="UTF-8">
    <title>{$name}的404页面</title>
</head>
<body>
    <script type="text/javascript" src="http://www.qq.com/404/search_children.js" charset="utf-8" homePageUrl="{$host}" homePageName="返回{$name}"></script>
    <!-- 插入代码 -->
    <script>
        window.onload=function changeURL() {
            if (!document.getElementsByClassName('desc_link')) return true;
            oldUrl=document.getElementsByClassName('desc_link');
            oldUrl[0].setAttribute('href', "{$host}");
            oldUrl[0].firstChild.nodeValue="返回{$name}";
        }
    </script>
    <!-- 插入代码结束 -->
</body>
</html>

请把“插入代码”部分单独拷贝粘贴到“zblogPHP安装路径\zb_users\theme\主题名称\template\404.php”页面对应的位置。

对于不是使用zblogPHPCMS的朋友来说,其实也很简单,把{$host}对应的值修改成您的首页路径,{$name}修改成网站名称即可。当然,JavaScript中也可以插入PHP代码,用起来也很方便,比如我要直接输出XXX,就可以写成如下这样(建议是在使用变量时使用)

oldUrl[0].setAttribute('href', "<?php echo 'http://www.paipk.com' ?>");

不过,还是建议腾讯把这个公益代码的值自查下吧,毕竟可以更方便的设置的,而且我记得有一段时间用起来很正常,不知道何种原因没有了。

作者头像

作者:紫铜炉

自由博主,网页设计师。我关注科技产品和个人博客发展,注重用户体验和界面优化。

 发表评论: