-
Notifications
You must be signed in to change notification settings - Fork 618
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于在 Safari 浏览器上部分网站无法运行油猴脚本的问题说明 #107
Comments
我写脚本也遇到了这个问题,顺手补充一下 TamperMonkey 开发者的说明😵: Tampermonkey/tampermonkey#296 (comment) |
首先感谢作者制作的脚本。 对部分脚本而言,有效的解决方法是,将插件安装在AdGuard中,可以看我下面的这个帖子,里面提到了一些安装在AdGuard里就有效的脚本: 我说的AdGuard是这个AdGuard for Mac,也就是客户端的版本,而非Safari插件的版本。这个是需要付费购买的,大概。几年前买的,好像是98元永久三设备使用,记不清了,反正国区很多商家有代理。(但是我在Mac*1 + iPhone *1 + iPad *2上都可以用,这4台设备了) 这个方法有两个问题:
这种设置项在AdGuard里根本就看不到。所以最合适的是没有设置项的脚本,以及能在当前页面上有一个「设置⚙️」按钮,点一下能弹出设置菜单的脚本,或者是能通过某些快捷键,或者在调出功能菜单之后能显示设置按钮的脚本,比如: |
这个csp问题可以用VPN拦截流量修改响应头来处理,另,别那么着急关闭#115issue啊 |
😂 我其实是希望作者改一下(各个)脚本,把按钮放在页面上,不过感觉这工作量大概挺大的……就不敢说 另外关于自动翻页无效的问题贴在之前的链接了,就是下面这一楼,其实是希望作者看到能回复一下是不是各个插件的实现方式不一样,我想如果能参照endless google的实现方式是不是就有效了 |
@LoneFireBlossom 这没办法写教程。。。 |
用3楼 #107 (comment) 的方法大部分装在AdGuard里的脚本也足够我使用了,所以也还好。知乎增强的默认设置对我来说也够用了。 |
好像AdGuard里安装的脚本会默认更新,就算我编辑了脚本它也会更新……(我怎么记得tempormonkey不是这样的。不过Safari的tempormonkey我是搞不懂它的更新策略,几个月都不见有更新。这里说的是chrome的) |
安装macaque后安装脚本可以在ios的safari运行了 |
|
这个方式挺好的,在Mojave这个系统下面也就这个办法了,新版系统好像有个叫user script的插件,不知道能否支持。 |
我使用 “知乎增强”脚本测试了,Macaque 在 macOS 和 iOS 下都可以正常运行脚本,Userscripts 不行。 |
感谢,可惜试了试并不是支持所有脚本。例如「知乎重排for印象笔记」就不行。 |
之前我也是用的 adguard 来驱动 Safari 下使用大佬的脚本,但是有些生效,有些不生效,很苦恼。 |
请教下你是怎么设置的,我用 stay 2 知乎增强没生效…… |
这个issue里有人说免费的Userscripts扩展能使用eval来绕开CSP,不过和装在AdGuard里一样不能设置 |
https://github.com/PhilGrayson/chrome-csp-disable 安装此插件解决 Chrome 浏览器 GitHub 无法翻页 (fix by disabling CSP) 但是上面那个插件需要你每次在当前 tab 点击插件启动然后刷新一下网页. 可以使用这个插件默认禁止 CSP 策略 |
使用Safari浏览器的小伙伴可以试试用代理工具Quantumult X 来去除网站的csp策略,比如github可以用这样的规则 |
用Stay,修改注入方式为Contect可以部分解决 |
一直以来都有人反馈我的某个油猴脚本在 Safari 浏览器下无法访问,但是我多次远程协助也没找到原因(我没有 MAC 设备),直到刚才在热心人士的帮助下,经过测试研究,最后发现:
之所以 Safari 浏览器在部分网站下无法运行油猴脚本,均是因为这些网站配置了
Content-Security-Policy(内容安全策略)
。在其他浏览器上,CSP 不会影响油猴脚本,因为浏览器扩展在插入油猴脚本时,会忽略网站的 CSP 策略。
但是 Safari 浏览器很奇葩的不与其他浏览器为伍,在浏览器扩展插入油猴脚本时会遵守网站的 CSP 策略,导致油猴脚本被阻止(显然这些网站不会将油猴脚本的路径加入 CSP 策略中)。
查询搜索后发现,似乎目前没有任何方法可以在 Safari 浏览器上绕过/禁用 CSP 策略,因此凡是启用 CSP 策略的网站均无法在 Safari 浏览器上依靠扩展运行油猴脚本。
当然如果你有解决方法的话,欢迎在下面告诉我~
The text was updated successfully, but these errors were encountered: