weread.qq.com 似乎能监测到浏览器是否打开了控制台(f12),禁止调试模式:页面拒绝加载内容。这个实现的原理是什么?

2020-05-03 21:59:23 +08:00
 plusDiscuss
不打开控制台,页面就可以正常加载内容,打开了控制台,就一直转菊花:

weread.qq.com/web/reader/d4a322a05d0f04d4a01f0d6

这个方法实现的原理是什么?
2172 次点击
所在节点    问与答
13 条回复
mufeng
2020-05-03 22:13:56 +08:00
Deactivate breakpoints 就行了
yuzo555
2020-05-03 22:14:54 +08:00
禁用断点就行了。这还只是初级的,还有那种禁用断点也没用的。
murmur
2020-05-03 22:19:20 +08:00
调用了 debugger,而且 debugger 在代码中用字符串拼接调用,防止你批量替换
xiri
2020-05-03 22:35:36 +08:00
如果只是想查看网页源代码的话直接在链接前面手动加上 view-source:就行了,要干其他的就有点麻烦了
plusDiscuss
2020-05-03 22:41:31 +08:00
@mufeng
@murmur
禁用断点也没用,就是 #2 楼说的那个情况

@yuzo555 这个也是,禁用断点也没用

@xiri view-source 无效,也被禁了
xiri
2020-05-03 22:44:28 +08:00
@plusDiscuss 有用啊,我刚刚试了,直接复制下面这个链接打开
view-source:https://weread.qq.com/web/reader/d4a322a05d0f04d4a01f0d6
also24
2020-05-03 22:47:57 +08:00
plusDiscuss
2020-05-03 22:51:18 +08:00
@xiri 我刚 chrome 试了下还是不行,换 firefox 可以 view-source

@also24 你这是什么浏览器?用 chrome 和 firefox 都没法 debug 呀
xiri
2020-05-03 22:54:58 +08:00
@plusDiscuss 我的就是 chrome 啊,,,,,,
https://img.xirikm.net/images/WzXb.jpg
also24
2020-05-03 22:59:05 +08:00
@plusDiscuss #8
我用的 Chrome,刚才确认了一下,它这个 debugger 只在页面加载的时候执行了…………

我是在已经加载好的页面里打开的开发者工具,所以没有触发……
plusDiscuss
2020-05-03 23:19:30 +08:00
@xiri
@also24

还以为遇到了 heisenbug...

先加载,再通过菜单,是可以绕开 debugger 的监测。
shiji
2020-05-04 00:38:42 +08:00
推荐你看看大神的前端黑魔法
https://github.com/EtherDream/web-frontend-magic
kaiki
2020-05-04 00:52:32 +08:00
chrome ctrl+f8 禁用断点,虽然转了很久最终还是加载出来了

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

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

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

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

© 2021 V2EX