我正在学习网络基础知识,最近听说要呈现网页,您必须导入整个浏览器引擎。我对此表示怀疑,但我找不到任何不使用以下任一方法即可呈现网页的程序:
- 铬
- WebKit
- 其他一些浏览器引擎
我想渲染一个简单的 HTML + CSS 页面,不需要 JavaScript,但我甚至在没有浏览器引擎的情况下也很难做到这一点。这主要是一个玩具项目,没有真正的目标,只是学习,所以我愿意接受任何我可以学习的“黑客”解决方案。我想学习渲染没有 JavaScript 的网页所需的最少代码。
我正在学习网络基础知识,最近听说要呈现网页,您必须导入整个浏览器引擎。我对此表示怀疑,但我找不到任何不使用以下任一方法即可呈现网页的程序:
我想渲染一个简单的 HTML + CSS 页面,不需要 JavaScript,但我甚至在没有浏览器引擎的情况下也很难做到这一点。这主要是一个玩具项目,没有真正的目标,只是学习,所以我愿意接受任何我可以学习的“黑客”解决方案。我想学习渲染没有 JavaScript 的网页所需的最少代码。
Quartz上有一篇关于中文字体制作的文章,其中有一个奇怪的说法:
多年来,这种做法一直可行,但中文字体始终存在一个特殊问题:由于字形太多,字体需要为以前未访问过该网站的用户进行大量下载,这对用户和提供商的带宽都造成了压力。(中文字体单一样式和粗细可能高达 6 或 7 兆字节。相比之下,Quartz 的正文字体 PT Serif 涵盖了 100 多种拉丁语言,四种样式仅占 1.4 兆字节。)现在,中文网页字体提供商会巧妙地扫描网页文本以识别需要哪些字形,然后只将这些字形发送给用户,而不是全部 13,000 多个字形。
网站是否可以只提供部分字体来呈现文本?浏览器如何下载这些不完整的字体?这与字体子集有关吗unicode-range
?
我正在尝试将 Reddit 页面保存为单个 HTML 文件以供离线查看,与浏览器上显示的完全相同,并且已经手动扩展了一些评论线程。这个问题是如何在保留 CSS 效果和布局的同时将整个 Web DOM 保存为当前状态的一般问题的一部分。例如,Stack Exchange 平台上有大量帖子提出这个一般问题:
几乎所有答案都属于以下形式之一:
右键单击并选择Save as...
,然后另存为Web Page, Complete (*.htm;*.html)
或Web page, Single File (*.mhtml)
。
打开 Chrome DevTools 并从选项卡中复制整个 HTML(Copy outerHTML
)Elements
。
由于许多链接都是“相对”链接,并且许多指向外部脚本的链接可以包含在 CSS 和 JS 文件中,因此您永远无法保存与实时网站版本完全相同的文件。
使用 HTTrack 之类的工具。(但据我所知,HTTrack 不支持将所有内容保存在单个 HTML 文件中。)
对于许多网站来说,将网页保存为单个 HTML 文件,使其与实时渲染时呈现给用户完全相同,这根本是不可能的。
使用浏览器扩展,例如“单个文件”(开发者的 GitHub 页面在这里)、“保存页面 WE ”,或“ WebScrapBook ”。
尝试“ WebRecorder ”Chrome扩展程序。
这些答案中的几个确实在某种程度上实现了将网页布局保存为单个 HTML 文件,与实时呈现时完全相同,但有一个巨大的缺点:它们没有以允许用户离线查看页面的方式保存 HTML 文件。离线查看部分本质上是我所追求的,也是我的问题的关键。
例如,打开 Chrome DevTools 并outerHTML
从Elements
选项卡中保存整个页面确实允许用户保存页面,使其与实时呈现时完全相同,但一旦用户尝试在离线模式下打开 HTML 文件,任何外部脚本都无法加载,因此 Reddit 页面的整个评论部分实际上甚至不会显示。我对 HTML 文件本身进行了一些手动检查,发现评论本身实际上存在于 HTML 文件中,但它们在用户加载文件时不会呈现,因为它们依赖外部脚本来指示如何向用户显示。
根据我的经验,我发现使用 SingleFile chrome 扩展程序完全可以完成我想要的任务(几乎),而且它做得最好。它能够精确地保存页面,就像在实时渲染期间用户看到的那样(即使在离线查看时),我发现它比“Save Page WE”和“WebScrapBook”扩展程序都好。SingleFile 可以完美地处理许多网站,但在尝试保存包含大量评论线程的Reddit 页面时,它会惨遭失败。在这种情况下,扩展程序会消耗太多内存,并导致选项卡崩溃(Out of Memory
出现错误)。可悲的是,该扩展程序在评论部分非常小的 Reddit 帖子上运行良好,但讽刺的是,大多数时候,当我想保存 Reddit 帖子时,Reddit 帖子的评论部分非常大,因此 SingleFile 扩展程序无法处理它。
SingleFile 开发人员在他的GitHub 页面上提供了该工具的命令行版本,但这只是启动无头浏览器并下载请求的 URL。这种方法对我而言毫无用处,因为我想保存 Reddit 页面以及我个人手动进行的修改(即手动展开所需的评论线程)。此外,我在使用这种方法时也遇到了同样的内存不足问题。
我发现解决我的问题的一个非常不明智的方法是简单地将页面保存为 PDF 格式,但我不需要 PDF 格式。我想要 HTML 格式。
关于如何保存 Reddit 页面以供离线查看,即使在评论部分相当大的情况下,有什么想法吗?
我的 nginx 作为反向代理遇到了一个奇怪的情况。当我的后端网站通过 nginx 反向代理响应用户(用户的浏览器)请求时,用户将在 302 FOUND 重定向中获取 http 协议而不是 https 协议。
我遇到了这样的情况,nginx 反向代理上的两件事将帮助我解决重定向中协议错误的情况:
add_header Content-Security-Policy "upgrade-insecure-requests";
或者
proxy_redirect http:// https://;
然而,这些命令的方法非常不同。
我更愿意使用第一个 CSP 选项,因为它似乎是解决此问题的最佳方法。但是我不完全确定使用第二个“proxy_redirect”选项时会发生什么。
更具体地说,我的后端正在侦听 HTTP (80) 和 HTTPS (443)。但是我后端的 HTTPS (TLS) 证书已过期。在 nginx 反向代理配置中,我使用 HTTP 协议作为后端的“proxy_pass”。
当我在这种情况下使用“proxy_redirect”时,nginx 反向代理似乎无法创建 TLS 握手。然而,它并没有终止“proxy_pass”连接,而是继续通过 HTTP 协议进行通信。至少这是我在后端网络服务器日志中看到的。从用户的角度来看,302 FOUND 重定向现在设置为 HTTPS,这似乎没问题。该网站似乎运行没有任何问题。nginx 反向代理和控制台中都没有错误。
那么nginx反向代理中的这种行为正常吗?当我不想使用有效的 HTTPS 连接到后端时,我应该实施哪个选项?当后端完全丢失 HTTPS 证书时,nginx 反向代理的行为是否与“proxy_redirect”选项相同?
我刚刚学习 HTML 基础知识和浏览器样式,我对标题中的问题感到震惊:即使对于纯粹使用语义元素编写的 HTML(我认为 HTML5 标准要求),人们是否见过“纯 HTML”或这些文件是否总会有一些默认的浏览器样式(可能会因浏览器而异)?
也就是说,如果纯 HTML 仅包含语义元素,那么谈论纯 HTML 是否有意义,或者是否总是存在某个层根据某些“表示规则”转换标签和整体元素?
我已经简要地阅读过有关 Reset.css 之类的内容,但我不清楚为什么这些内容被称为“普通”。
环境:Windows 11、Office 2021 在计算机上运行,而不是在“云”中。
我的默认浏览器是 Firefox,我不想更改它。但有些网站与 Firefox 不兼容,因此当我在 MS Word 或 Excel 中制作文档时,我想设置指向这些网站的链接以在 Edge 中打开。
有办法做到这一点吗?
最好没有 VBA,但如果需要的话 VBA 也可以。
有时,当您关注图像 URL 时,它会将您带到包含该图像的网页,而不是仅显示该图像。然后,当您右键单击并选择在新选项卡中打开图像时,它将再次带您进入同一网页。
很明显,图像 URL 返回的是图像,而不是网页,否则你根本看不到图像,你只会递归地看到网页。
我认为这些网站(例如 Reddit)使用了一些巧妙的技巧来实现这一点,所以我决定深入研究。实际上,他们似乎根本没有使用任何技巧,他们只是尊重用户的偏好 -代理(浏览器)正在发送请求:
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
因此,Firefox 似乎在告诉网站,它更愿意看到 HTML 页面(HTML/XML 被认为 90%“质量”)而不是图像(被认为 80%“质量”)。
我的理解是否正确?如果是,我该如何更改以仅使用图像?
是否可以在 Web 浏览器中本地模拟 x64 操作系统?
https://wfang.oss-cn-beijing.aliyuncs.com/new/web/20230804/1691128104810-91071.jpg
以上是照片的地址,您可以下载并尝试在任何图像软件和谷歌浏览器中打开它。谷歌浏览器可以打开它,但其他方式甚至手机或图像代码util都无法打开它?
原因是什么?我该如何解决?我有时会接受一些像这样从我的网站用户上传的照片,我可以用 Java 或 Javascript 修复它吗?
我已经检查过这个问题但没有帮助,IrfanView也无法打开照片..https://superuser.com/questions/334352/how-to-fix-an-image-that-doesnt-open-in-photoshop-即使它打开得很好
顺便说一句,我也无法上传带有这个问题的照片,照片可以在浏览器上显示,但也许服务器认为它不是合格的照片并拒绝它。 这是上传截图