常见问题

本文列举一些使用脚本是常见的问题。如果您发现了脚本的缺陷、希望提出功能建议或者希望推送代码到这个项目,请阅读CONTRIBUTING。如果您的问题不在这里,您可以直接在微博上私信联系我

如果您希望获得更多关于“自定义 CSS”的参考,您可以查阅常用自定义样式

安装与卸载脚本

如何安装脚本

请访问脚本主页,并根据安装指引中的说明操作。

当前脚本仅支持 Mozilla Firefox, Opera, Google Chrome, Safari 浏览器;使用其他浏览请仿照这些浏览器的安装方法安装。

如何卸载脚本

对火狐用户,在附加组件页面选择用户脚本,找到 Yet Another Weibo Filter 点击卸载即可。卸载脚本会自动清除脚本在您本地保存的数据。其他浏览器的用户可以在对应脚本宿主,如 Tampermonkey 或暴力猴的设置中找到本脚本,选择删除或卸载即可。

设置脚本

如何打开设置对话框

安装脚本后打开或刷新新浪微博的网页,您将会在右上角看到一个漏斗状图标,点击该图标即可开始脚本设置。除了漏斗图标外,齿轮图标的下拉菜单中同样可以找到过滤器设置的选项,点击也可打开过滤器设置。

保存设置

脚本的设置项即时保存,所以不需要确定或保存按钮。修改的设置不会立即生效,只会在您刷新页面或打开新页面时生效。

从其他脚本导入设置

本脚本支持您导入“眼不见心不烦”脚本的设置。如果您同时打开了这两个脚本,在本脚本的设置窗口中“关于脚本”选项卡,可以看到“导入‘眼不见心不烦’设置”的按钮,点击即可导入。此外,您还可以参考在线设置文件转换工具的相关说明进行操作。注意,因为脚本在设计上的各种不同之处,转换前后的设置只是近似而并不能完全相同,您可能需要再调整部分设置。

过滤器

隐藏与折叠有什么区别

设置中可以隐藏或折叠一条微博。一条微博如果被隐藏,那么这条微博将彻底不会显示在屏幕上。而如果一条微博被折叠,那么会显示类似“一条微博被折叠,点击查看”的提示信息,点击可以查看微博原文。

什么是正则表达式

正则表达式是一种比基于文本查找更复杂的匹配文本的方式。如果您不清楚正则表达式的具体工作原理,推荐您只是用关键字过滤。如果您希望了解正则表达式,您可以参考《正则表达式30分钟入门教程》。正则式在匹配时会先移除微博中的表情和链接等内容,之后使用空格拼合整个字串。正则式在编译时不会添加^$,如果需要请手动添加。

关于更多正则表达式的使用方法,您可以参考用于过滤微博的正则表达式快速入门

关于正则表达式的一些细节问题

对于有换行符的微博,您可以使用 /\n/ 识别换行符。正则表达式编译时不带有 m 标记。

如果想自定义折叠时显示的原因,可以在正则表达式中使用 (?=|因×××) 表示,脚本会识别正则表达式中第一个形如 (?=|xyz) 的规则作为原因显示。

如何设置同时出现某些关键词

关键词列表中的词之间是“或”的关系。换句话说,只要微博中出现了其中的任何一个关键词就会被过滤。如果希望添加一个“与”的关系的过滤规则,也就是说一条微博只有同时出现某几个关键词时才被过滤,那么可以通过正则表达式来实现。正则规则的细节这里不做介绍,这里仅举例说明用法。

例如您要过滤同时出现“冬瓜”和“羊肉”两个关键字的微博,那么只需要在“正则表达式”的规则中添加^(?=[\s\S]*冬瓜)(?=[\s\S]*羊肉)即可。

需要注意的是,因为是正则表达式,如果您过滤的关键词中包括.*+?^${}()|[]/\这些字符,您需要在这些字符的每一个之前添加\标记。例如您希望过滤同时出现“??!”和“...”的微博,那么您需要将规则书写为^(?=[\s\S]*\?\?!)(?=[\s\S]*\.\.\.)

关于更多正则表达式的使用方法,您可以参考用于过滤微博的正则表达式快速入门

帐号、原创和提及分别指什么

脚本对一条状态中的作者、原创和提及区分进行了处理。

  • 帐号:您关注的一个帐号,这条微博因为这个帐号的撰写或转发被推送到您的微博列表中;
  • 原创:如果一条微博是原创的(不是转发的)那么他的作者就是原创的作者,否则原创指这条微博最早转发自哪里;
  • 提到:提到包括在微博中使用“@”提到的帐号,也包括转发路径中的那些账号;

脚本中您可以对三者分别进行隐藏。

您使用拖拽创建过滤器时,脚本会自动根据您拖拽的内容选择恰当的过滤器选项。

需要注意的是,作者和原创是根据帐号的ID进行过滤的:如果这个人修改了昵称,您设置的过滤器依然有效。但是提到因为技术原因,提到的过滤只能根据昵称的文本匹配。所以该帐号修改了昵称之后,设置的过滤器将会失效。

按链接过滤功能是怎么工作的

将鼠标指向链接时,会弹出来链接指向的实际地址(非 t.cn 的短地址)的气球。脚本在隐藏时基于对气球中的内容做字符串匹配得到。例如,如果一个链接被多次短链,那么脚本将无法识别到这个链接。如果一个链接为 http://www.example.com/www.example.org 那么 www.example.org 同样将匹配到这个链接。

快速创建过滤器

如何使用拖放快速创建过滤器

如果您在脚本中启用了使用拖放快速创建过滤器的功能,您可以使用鼠标拖拽微博中的文字、帐号、话题、来源等。拖拽时网页右上角会显示一个黄色的区域,您需要将特定内容拖到该区域上放开鼠标。如果您拖放的内容可以被脚本识别,脚本会根据您拖拽的内容列出所有匹配的过滤器,弹出创建过滤器的对话框询问您要创建哪些过滤器。

拖放功能能够识别哪些内容

  • 用户的头像和链接
    • 包括微博内、用户卡片、分组用户信息、关注粉丝列表
  • 话题的链接
    • 包括微博内、热门话题
  • 微博内容中的链接
  • 微博的来源
  • 微博中选中的文本

使用右键菜单快速创建过滤器

如果您在设置中启用了使用右键菜单快速创建过滤器的功能,那么在首页和个人主页,任意一条微博上点击右键,即可看到“创建过滤器”的菜单项,菜单中可以根据作者、转发自、话题、来源、链接等创建过滤器。

过滤器相关功能

为什么我设置的某个过滤器的规则没有生效

如果您设置了某个隐藏的规则,但是您又看到了符合该隐藏规则的微博:

  • 首先检查您设置的隐藏条件(如关键字)的拼写是否与该微博中出现的完全一致;
  • 检查这条微博是否同样匹配了某条白名单规则:白名单的优先级高于黑名单,黑名单的优先级高于折叠;
  • 在用户主页上不会根据作者过滤微博,单条微博页面不会过滤微博(设计如此);
  • 如果需要将关键词作用到话题、提到、链接或表情上,需要在内容设置中打开相关开关;
  • 如果启用了“告知服务器被隐藏的微博以避免再次加载”那么隐藏过一次的微博将不会再载入,即便您又将其添加到白名单中。

如果您可以排除上述情况,欢迎向我反馈问题

什么是有新微博自动加载

当您收到新微博后,微博列表顶端会显示一行“有XX条新微博,点击查看”字样的横幅,点击后就会显示出新的微博。而这些微博在加载之前,过滤器无从得知他们是否因为包含特定的关键词等原因应该被隐藏。因此可能会出现虽然提示有新微博,但是点击后却什么都没有的情况。自动加载新微博的目的就是解决这个问题:一旦发现了有新微博的提示,那么脚本会自动帮您点开,并根据设定的过滤器进行过滤。如果确实有未被黑名单过滤的微博,脚本才会再提示您有新微博要看。

什么是加载后直接展开

仅当您开启了新微博的自动加载时生效。如果加载出来的微博不在黑名单内,那么脚本会直接将这些微博显示出来而不用您再点击查看新微博的横幅。脚本提供了在页面处于活动状态下暂停展开的功能,以避免在您浏览其它微博的时候由于自动展开的效果而造成困扰。

什么是桌面提示功能

自动加载了新微博后,脚本还可以通过桌面提示的方式通知您收到的新微博以方便您及时查阅和评论。桌面提示是浏览器在桌面角落弹出的一个提示框,即便浏览器处于最小化的状态,桌面提示一样会显示出来。(但是如果您正在运行其他全屏程序,则会被覆盖)火狐浏览器的桌面提示当前有 4 秒后会自动隐藏的限制,如果您希望控制显示的时间,您可以考虑使用 Tab notifier 等扩展以获得更好的效果。

清理页面

如何隐藏某个元素

脚本除了过滤微博外,还可以帮助你隐藏一些界面上的元素。你可以到设置中“模块”选项卡找找看,有没有你需要隐藏的模块。

我希望隐藏的模块不在选项里

  • 首先确认一下你要隐藏的是不是微博或类似微博的元素,如果是的话可以在“更多”选项卡中找到。如微博列表中偶尔会出现的推荐关注,微博列表中的推广微博等。
  • 如果某个模块是刚刚推出的,那请尝试更新一下脚本,看看是否新的版本中已提供了该功能。
  • 此外,还可以参考一下常用自定义样式,看看能不能用自定义样式隐藏。
  • 如果还是没有找到,可以直接在微博上找我,或者在这里提交一个 issue

其他功能

关于使用搜索代替首页功能

使用搜索代替首页功能利用搜索页面较为“落后”尚未支持目前的“智能”排序的特点,使用搜索页面代替首页,以达到首页可以按时间顺序排序的效果。

这个功能能否正常工作,受限于微博“搜索”功能的正常工作,从目前的使用上来看,可能存在如下问题:

  • 悄悄关注的账号的微博不会显示在首页上
  • 账号备注不会显示
  • 仅限会员,微博屏蔽设置失效(请考虑使用脚本提供的隐藏功能作为替代)
  • 最近几分钟的微博不会显示,没有心消息提示黄条
  • 仍然会有少量消息遗漏,不显示在首页上(请考虑对少量账号加入脚本的“收藏账号”功能)
  • 较不常见地,无法查看最近几小时的微博(偶尔遇到这个问题时,请考虑浏览分组)
  • 偶然发生地,首页不显示任何一条微博,一般刷新可以解决此问题

因为受到“微博搜索”功能的制约,脚本的“使用搜索代替首页”功能完全无法解决上面列出的这些问题。

此外,除了利用搜索代替首页外,您还可以通过查看某个分组下的微博的方式,获得正确顺序的时间线。

什么是阅读模式

阅读模式是一个只有微博列表,而隐去了其他尽可能多的东西的浏览模式。您在设置中启用之后,可以按快捷键或点对应按钮进入该模式,退出的方式和进入相同。

设置中的快捷键是可以修改的:首先鼠标点击快捷键的那个按钮,然后在键盘上按您想要的组合键,就可以修改预设的快捷键。使用 Esc 可以禁用快捷键。

什么是自定义 CSS

CSS(层叠样式表)是描述网页排版的一种计算机语言。自定义 CSS 提供高级的修改版面的方式。由于脚本的设置是随用户不同而区分的,所以脚本需要等页面加载好后才能应用这些样式。如果希望样式及早生效,建议使用 Stylish 扩展

您可以查阅常用自定义样式获取更多关于自定义 CSS 的参考。

我设置的 CSS 隐藏了漏斗图标或设置窗口

除了漏斗图标,您还可以在齿轮状图标的下拉菜单中找到“过滤器设置”选项打开设置窗口。

此外,您还可以在新浪微博页面上,点击 GreaseMonkey 的猴子图标右侧的下拉箭头,从菜单中找到用户脚本命令下的“编辑 YAWF 自定义 CSS” ,并在其中取消掉您之前的设置。该设置方式仅建议在因错误的设置导致不能打开设置界面时使用。

故障与除错

安装后没有变化或者排版混乱

如果安装之后没有变化或者排版混乱,可能是安装的环境有问题。

  • 脚本不支持 Opera 12 , Firefox 19 等比较旧的版本,如果您正在使用的版本过于陈旧,请考虑升级您的浏览器。
  • 对 Firefox 用户,脚本不支持使用 Scriptish 和一些 UC 脚本实现的用户脚本宿主,需要使用 Greasemonkey 。
  • 您的浏览器如果不是最新版,请确认安装的 Greasemonkey / Tampermonkey / 暴力猴 是否和您的浏览器相适应,可能新版的扩展安装在旧版的浏览器上会出现问题。
  • 对 Chrome 用户,尤其是这世界上已知网络不好的某些地区的用户,可以试试卸载并重新安装 Tampermonkey 。

没有看到漏斗图标

如果在新浪微博的页面没有看到漏斗图标,请检查以下原因:

  • 脚本当前只在首页、个人主页等页面生效,对于帐号设置等页面并未启用,请换到首页;
  • 您的脚本没有正确安装或处于被禁用的状态,请到 GreaseMonkey 或其他对应扩展的菜单中进行检查;
  • 您的自定义样式隐藏了漏斗图标,相关问题详见我设置的 CSS 隐藏了漏斗图标或设置窗段落。

首页刷不出微博或刷不出最近几小时的微博

如果您开启了“使用搜索代替首页”的功能,那么可能无法正常显示最近几分钟甚至几小时的微博,请参考关于使用搜索代替首页功能的说明

此外,您可以关闭脚本并重新打开首页检查一下是否是微博的刷新出现了问题,或最近的微博都被您的黑名单隐藏掉了。

脚本突然不能工作了

如果脚本出现故障不能工作了,有可能是因为脚本更新造成的问题,也可能是微博的改版造成的问题,还有可能是您浏览器或脚本的插件的故障。

如果脚本的小漏斗能够显示出来,而且有部分功能还能正常工作。那很可能是因为微博的改版或者脚本的某个新功能时没有考虑以前的某个功能功能造成的。 微博的改版大多数情况下都是一些细节上的改动,不查看源代码是看不到区别的,所以您可以并未察觉。但是可能会导致脚本的部分功能失效,比如无法正确识别微博的作者是谁等等。遇到这类情况,您可以私信我或使用微博提到 @YAWF脚本 ,发现后我会第一时间处理。

如果干脆小漏斗也显示不出来了,以前设置的任何功能也不能正常显示。那很可能是您的安装环境有问题。这个问题最常见于Chrome的Tampermonkey上,尤其是在一些Chrome同步功能因为网络问题而不稳定的地区,只能重装Tampermonkey或换用Violent monkey解决。当然也会在别的浏览器上见到,一般来说重装Greasemonkey或Violent monkey可以解决。

如果第一次安装就不能工作,建议检查一下兼容性问题

为什么别人的某个功能我这没有

脚本只会显示在您的运行环境支持的功能,所以如果您缺少如下功能,属正常现象:

  • 右键菜单功能需要您的浏览器支持contextmenu属性(目前仅有Firefox支持);
  • 桌面提示功能需要您的浏览器支持Notification接口;(几乎所有现代浏览器都支持该功能)
  • 使用HTML5播放器播放秒拍视频的功能需要您的浏览器支持播放MP4文件(Chromium可能不支持该功能,Firefox可能需要插件以支持该功能);
  • 显示时间时使用本机时区的功能要求您计算机设置的时区不全年使用东八区时间(如中国标准时间、香港标准时间等);
  • 重新安排微博或评论下的按钮功能需要您的浏览器支持order CSS属性;(几乎所有现代浏览器都支持该功能)
  • 禁用桌面提醒功能仅微博针对您的浏览器提供了该功能(您的浏览器支持桌面提醒且不是傲游浏览器)时才会显示;
  • 禁用 Live Photo 功能金微博针对您的浏览器提供了该功能(您的浏览器是的UA中包含Safari关键词)时才会显示;
  • 从“眼不见心不烦”脚本导入设置功能仅当您安装了该脚本时才会显示;
  • 订阅和扩展选项卡仅当您至少安装了一个订阅或扩展时才会显示,扩展需要您在关于脚本选项卡选择启用才会生效。
  • 打印调试信息功能需要您安装的脚本未经过压缩;

另外,如果某项功能末尾用括号备注了微博的版本,该功能仅支持对应版本的微博用户。

使用拖放创建过滤器功能拖拽后没反应

如果您拖拽了页面上的某些内容,希望创建对应规则的过滤器,但没有看到释放区域。这可能是由于以下原因导致的:

  • 您在设置中禁用了拖放创建过滤器功能;
  • 您拖放的内容不能被识别;
  • 您拖放的用户链接昵称不正确。

如果您将特定内容拖拽到释放区域后没有弹出对话框,这可能是由于以下原因导致的:

  • 您拖拽的内容不能被脚本识别。
  • 和其他附加组件冲突,已知冲突列表:
    • Firefox: DragIt (可以考虑使用超级拖拽替代)
    • Firefox: 附加组件管理器(开启拖拽功能时,中国版火狐自带扩展,替代同上)
  • 拖拽用户链接时,查找用户信息的网络访问出错;
  • 您拖放的是提到某用户的链接,且经查没有用户对应链接中的用户名

无法使用右键菜单创建过滤器

  • 当前仅火狐浏览器支持自定义的右键菜单功能
  • 和某个附加组件冲突,目前已知与下列附加组件有冲突:
    • 迅雷扩展(一些版本的迅雷软件安装的附加组件,并非来自 AMO ,考虑使用 xThunder 代替)

关于脚本的其他问题

使用这个脚本安全吗

脚本开源托管于 GitHub ,如果您对脚本的功能不放心,欢迎检查脚本的源代码。脚本承诺不收集任何个人数据,关于脚本详细的隐私声明,请参阅脚本主页。

安装时请确认您安装的脚本是否来自以下页面之一(随选择的语言不同,网址中语言部分可能会有少许不同):

如果您安装自其他的途径,请务必确认来源的可靠性。安装被恶意篡改的脚本可能侵犯您的隐私及上网安全:如搜集您的浏览数据,盗窃您的密码,自动添加关注,甚至以您的名义发布内容等等。而且这些恶意行为并不仅限于微博网站,而是您访问的所有网站。

这个脚本有谁在用

我不知道。因为脚本未搜集任何用户信息,包括脚本主页每天有多少访问量,包括有多少人安装了脚本。

别人会知道我用了这个脚本吗

您微博上的好友并不会知道您使用了这个脚本,除非:

  • 您告诉了他您在用这个脚本(比如您关注了@YAWF脚本,比如直接向别人推荐了这个脚本,比如您上传的截图或照片展示了启用脚本后的微博网页);
  • 站在您身后看到您刷微博的人也会知道您用了这个脚本;
  • 您的浏览器厂商、浏览器中安装的其他扩展、与您在同一个路由器下的其他人、您的网络运营商(如联通或电信等)、新浪(微梦)公司,理论上可以知道您使用了这个脚本(但并不表示他们真的会去关心这个问题);

我可以修改或再发布这个脚本吗

只要您保留脚本的版权声明、作者信息,且注明您的改动(如果有),您可以任意再分发该脚本。

不过如果您希望修复脚本的某个缺陷,还是希望您能通过 GitHub 的问题追踪器发帖或拉取请求贡献修改后的脚本。

如果您希望添加某个小功能,可以试试使用脚本提供的一些接口做简单地扩展,详情参考tiansh/xyawf

如果您想制作过滤规则(如黑名单)共享给他人使用,可以参考tiansh/yawf-rules

帮助脚本变得更好

贡献代码

脚本使用 MIT 协议开源,项目托管于 GitHub。欢迎分支项目并创建拉去请求为脚本贡献代码。

如果希望添加新功能,建议先通过微博私信项目的问题追踪器讨论是否应当添加对应的功能,另外请参考关于需要的功能的说明

报告错误和功能建议

发现任何错误或有任何功能建议,欢迎在GitHub上反馈,或直接私信、或使用微博提到 @YAWF脚本

请参考CONTRIBUTING页面。

支持我们的开发

脚本开发完全是个人业余兴趣,脚本不接受任何形式的捐赠,感谢您的支持。

如果您觉得脚本很好,欢迎帮助我们宣传脚本:让更多人知道这个脚本,用上这个脚本是对我们最好的支持。