Hexo next 主题的 local search 功能失效,点击搜索链接无法弹出叠加层

2016-08-11 20:18:01 +08:00
 fourstring

大致情况如题。

我用 F12 看了一下,点击“搜索”时,没有出现错误,并且‘ network ’选项卡中可以看到正常请求 search.xml 文件且返回了 200.尝试清理了浏览器缓存,更换浏览器也无果。如下图:

点击这个链接进站即可体验该 bug

求大神帮忙!

4460 次点击
所在节点    Hexo
4 条回复
lujjjh
2016-08-11 20:49:34 +08:00
看了下是 parse error

《如何帮助一个用 iOS 的技术盲妹子富强?》这篇文章里混入了三个奇奇怪怪的字符(\u0008 ),分别在:

1. 仅靠_ 一个文本文件
2. Sa_ fari 和 OS X 双击安装均会显示
3. 签名到此完成, _安装时也会显示

光标在编辑器里移动的时候可以明显察觉到这三处有不可见字符,都删掉就好了。
fourstring
2016-08-11 21:03:37 +08:00
@lujjjh 应该是 HTML 的 这样的字符,不知道为什么不能显示。。。
膜拜大神!另外请教调试方法?
lujjjh
2016-08-11 21:24:27 +08:00
@fourstring \u0008 是退格键,而且应该是出现在 .md 文件里的。类似的问题以前写 Hexo 也遇到过,可能跟编辑器或者输入法有关系,没有查明是什么原因。

调试的话,因为你用的是 jQuery ,手动发起一个请求就能发现实际上 jQuery 调用了 error 的回调函数,报了一个 parse error 。用 Chrome 访问 search.xml ,能看到这样的错误提示:

error on line 238 at column 37: Input is not proper UTF-8, indicate encoding !
Bytes: 0x08 0xE4 0xB8 0x80

把 search.xml 下载下来,正则表达式搜索 \x08 或者 \u0008 。
LongDream
2017-08-14 11:57:10 +08:00
其实就是这个字符`^H`,在 Sublime 显示为一个带底纹的`BS`,表示的是 BS 退格键。可以在 Sublime text 复制那个 BS 退格键(不是 BS 字母,是一个 ASCII 控制符)。然后 Command+Shift+g,查找里黏贴那个 BS 退格键,然后选择_post 目录路径,replace 地方填空即可。这样可以全目录删除 BS 退格键。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298727

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX