当前位置: 首页 > 知识库问答 >
问题:

javascript - 如何在不影响用户界面的情况下实现控制台乱码?

江丰羽
2024-03-19

想在某小说网站"免费"下载一篇小说, 结果无意间发现这个网站能做到网页内展示正常, 但控制台却是乱码的操作 这是对应网站的地址

image.png

这种问题除非带图, 否则不好描述, 所以百度,google,bing,copilot都没结果.

想知道如何实现这种高端功能,

共有5个答案

单于飞鸣
2024-03-19

看起来像是编码问题,切换一下编码格式应该就会正确展示了。
可以看一下 network 面板中返回的内容体是什么编码格式。


看了一下网站,确实是字体替换的方式。移除了 .muye-reader-box 元素上面的 DNMrHsV173Pd4pgy 字体样式就不能正常展示文章内容了。

图片.png

图片.png

之前反爬虫有看到过这样的处理方式 �� 斗鱼关注人数爬取 ── 字体反爬的攻与防 - CJ Ting's Blog

易招
2024-03-19

发个地址来康康

周子平
2024-03-19

canvas 画图就行了吧,控制台里是 encode 数据,decode 之后画到 canvas 里。

拓拔浩阔
2024-03-19

看起来是用自定义字体的方式(大众点评也用)

具体可以参考下面这几个链接
https://blog.csdn.net/zhuxiao5/article/details/102618216/
https://blog.csdn.net/weixin_39942108/article/details/111790432

康锦
2024-03-19

实现网页内显示正常,但控制台显示乱码的功能,通常涉及到在服务器端或客户端进行一些特定的处理。这种处理可以让页面上的内容以一种编码方式显示(例如UTF-8),而在浏览器的开发者工具的控制台中以另一种编码方式(例如乱码)显示。

下面是一种可能的方法:

1. 使用特殊的字符编码

你可以使用一种特殊的字符编码来显示你的内容。这种编码在网页上显示正常,但在控制台中显示为乱码。例如,你可以使用Base64编码。

2. JavaScript处理

在JavaScript中,你可以捕获和控制台输出的内容,并将其转换为乱码。例如,你可以使用console.log来输出乱码。

let text = "Hello, World!";let encodedText = window.btoa(unescape(encodeURIComponent(text))); // 使用Base64编码console.log(encodedText); // 在控制台输出乱码

3. CSS样式隐藏控制台输出

使用CSS样式来隐藏或改变控制台输出的外观,使其看起来像是乱码。例如,你可以使用font-familycolor属性来改变输出文本的外观。

4. 服务器端处理

在服务器端,你可以根据请求的来源(例如是否是浏览器的开发者工具)来返回不同的内容。例如,你可以检查请求的User-Agent头部来判断是否是开发者工具。

注意事项:

  • 这种做法可能会对用户造成困惑,因为他们可能期望在控制台中看到有意义的信息来帮助他们调试。
  • 这种方法可能会违反某些网站的使用条款或政策,特别是如果它用于隐藏或混淆信息。
  • 在实际开发中,通常不建议故意让控制台显示乱码,因为这可能会降低用户体验并增加调试难度。

总的来说,实现这种功能需要一定的编程知识和对字符编码、HTTP请求和JavaScript控制台的理解。但是,请注意,这种做法可能会对用户和开发者造成不便,因此在实际开发中并不推荐。

 类似资料:
  • 问题内容: 如果我要使用DefaultServeMux(我将其指定为ListenAndServe的第二个参数来指定),那么我可以访问,您可以在Go Wiki的以下示例中看到该: 在当前代码中,我无法使用DefaultServeMux,即我将自定义处理程序传递给ListenAndServe 因此,我没有内置的代码。但是,我必须将一些授权代码修改为需要类似的授权代码。例如,如果我一直在使用Defaul

  • 问题内容: 我将从通知的新Google服务开始。 多亏了这段代码https://github.com/firebase/quickstart- android/tree/master/messaging, 我才能够将通知从 Firebase用户控制台 发送到Android设备。 有没有使用Firebase控制台发送通知的API或方法?我的意思是,例如,一个PHP API或类似的东西,可以直接从我自

  • 我开始使用新的Google通知服务 。 多亏了这个代码https://github.com/Firebase/quickstart-android/Tree/master/messaging,我才能够从我的Firebase用户控制台向我的Android设备发送通知。 是否有任何API或方法可以在不使用Firebase控制台的情况下发送通知?我的意思是,例如,一个PHP API或类似的东西,从我自己

  • 有的时候我们访问一个网站的时候,可能会显示“服务器暂时不能访问”,请问这个时候是不是开发人员在测试生产环境,所以暂时停止了用户的访问? 比如我现在发了一个生产端的最新版本,我需要一个小时的时间去到线上进行测试,那么这种情况下的最佳实践是什么呢?如何避免影响到用户的使用呢? 我的生产环境经验有点少,请大佬看到这个题目尽可能的发散性的回答,就是说你想到的问题和答案都能写在评论中,让我能多学习学习,这种

  • 问题内容: 我遇到了一个问题,我想等待10秒钟,因为我希望我的应用程序在那10秒钟后启动下面的代码,但又不阻止该人单击应用程序中的其他任何内容( _而无需_调用)。 问题答案: 您从不希望在线程上进行调用,因为听起来您已经弄清楚了。这会冻结并且始终是一件坏事。您可以使用一个单独的和 这样的答案显示了如何做到这一点以及其他几种选择 处理程序 计时器任务 您可以查看这些内容,然后查看哪种方法最适合您的

  • 我正在处理一个简单的Docker映像,其中包含大量环境变量。你能像docker-compose一样导入环境变量文件吗?我在docker文件留档中找不到任何相关信息。 Dockerfile 我想重新表述这个问题的一个好方法是:如何在Dockerfile中高效地加载多个环境变量?如果无法加载文件,则无法将docker文件提交到GitHub。