本文来自依云's Blog,转载请注明。
SegmentFault 的通知页里的链接总是会在新标签页打开。这对于我来说就多了一个需要关闭的标签页——我本可以在最后一条新通知时不打开新标签页的。我习惯由我自己来控制链接在哪里打开,会根据情况选择在后台新标签页打开或者在当前标签页打开。SegmentFault 通知页这样子在前台标签页打开对于我来说除了烦人之外便毫无用处。
然而 SegmentFault 改来改去,最终似乎还是决定像很多国内网站那样让我这种用户厌烦。罢了,是时候让油猴出场了。这次尽情使用 ES6 好了=w=
// ==UserScript== // @name SegmentFault Enhancement // @namespace http://lilydjwg.is-programmer.com/ // @description SegmentFault Enhancement // @include http://segmentfault.com/* // @include https://segmentfault.com/* // ==/UserScript== // jshint moz:true if(location.pathname === "/user/notifications"){ let elements = document.querySelectorAll('section.stream-list__item a[target]'); for(let el of elements){ el.removeAttribute('target'); } }
虽然不是第一次使用let
了,但for...of
是第一次使用。这感觉好棒!跟写了好长时间的 C 之后发现表达力强大的 Python 一样!
现在的 ECMAScript 越来越像语法怪异的 Python 了呢 ;-)
PS: 在网页里写上在新标签页打开有安全隐患的。
Oct 15, 2015 03:50:02 PM
_blank 我也不喜欢,很久之前我也特意为了去掉它写了个猴脚:https://bitbucket.org/zbinlin/no_blank
提到 sf,我这里写一个查看用户的结贴率的脚本:https://bitbucket.org/snippets/zbinlin/9qKdg
Oct 15, 2015 09:54:53 PM
哇,zbinlin 好棒~!
Oct 27, 2015 12:01:46 AM
这个脚本好赞。
Dec 02, 2015 12:13:38 PM
失效了么?
Dec 02, 2015 01:58:20 PM
我这里还是好用的呢。
Dec 02, 2015 02:01:35 PM
少贴了右括号:P
missing } in compound statement
开了console发现了
Dec 28, 2015 02:24:16 PM
我给segmentfault.com强制加了ssl后发现你的脚本不工作了,后来发现是没有include https
这个是合并了几个特性的脚本
https://code.csdn.net/snippets/1516973
Dec 28, 2015 06:46:07 PM
嗯,因为之前 SegmentFault 根本不支持 HTTPS 嘛。自动 HTTPS 跳转我使用的是 HTTPSEverywhere 的用户自定义规则: https://github.com/lilydjwg/HTTPSEverywhereUserRules
Dec 28, 2015 08:58:54 PM
我找了半天也没找到这个自定义的方法原来是写文件啊,我发现这个目录下已经有一些rule了,是HTTPS Finder生成的,但这个插件好像消失了。
看了一下这个库的语法,感觉用别人的语法有潜在的域名重定向危险啊,它应该把语法简化为只能把http转为https,而不是可以修改uri
Dec 28, 2015 09:17:40 PM
用了这个脚本吓得我赶紧把没有关掉的问题都关了
Dec 28, 2015 11:00:34 PM
233
Dec 28, 2015 11:05:52 PM
有些网站明文和加密访问使用的是不同的域名。