【发布时间】:2019-09-11 08:57:15
【问题描述】:
我渴望做一些我从未见过的事情。
我想创建一个网页只使用客户端javascript。例如,我想将一个 javascript 文件放在 www.webpage.com/index.js 并让浏览器运行该 javascript 文件。在该文件中,我将生成 html 和 css,但我希望入口点仅是该 javascript 文件而不是 HTML。
如果这是不可能的,我认为应该是。很多时候,我的 html 文件只是一个标题、标题和一个空正文。在这种情况下,必须先下载一个 html 文件,然后浏览器才能下载真正用内容填充空正文的 javascript 文件,这很愚蠢。
我意识到搜索引擎可能不知道如何索引由客户端 javascript 生成的 html 的页面,但我再说一遍,他们应该能够做到这一点,如果他们还没有的话,最终可能会做到。
我从未见过这样做过。这可能吗?如果是这样,请您指导我访问涵盖该主题的任何资源。我找不到任何东西。
【问题讨论】:
-
不可能,除非你想做一些事情,比如指示用户打开他们的浏览器控制台并复制粘贴到代码中
-
我预测有一天,这将成为标准的一部分。它节省了到服务器的额外行程。
-
正如@CertainPerformance 所说,无法在浏览器中运行独立的 js 文件(无需扩展或额外的用户输入)。为了最大限度地减少 html 请求并只下载单个文件,您可以使用构建系统在 html 存根中的脚本标记之间插入所有 javascript,但这意味着您不会从浏览器缓存中受益。
-
可以在here找到更多讨论。
-
脚本是否应该默认使用
document对象,因为它对于通常包含脚本的传统 HTML 文档来说是正确的?如果是这样,那会是什么文档?脚本和大多数人喜欢编写脚本的文档之间没有一对一的关系。例如,您可以拥有运行脚本的 SVG 文档?我的意思是,如果我们同意一些约定或完全不为此类“基本”脚本定义任何window.document,它可以工作。但就目前而言,现在您必须先提供一份文件。
标签: javascript ecmascript-next