问题标签 [static-html]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nuxt.js - 如何在 Nuxt 中加载静态 HTML 页面(避免 Nuxt 请求)
我有一个 nuxt 网站,它有一个unsupported page
. 当我只想显示一个没有外部请求的静态页面时,我注意到 Nuxt 正在加载它的文件,因为它是一个简单的页面,没有理由加载所有这些文件。
所以问题是:我如何在访问 Nuxt 特定路由时提供静态 HTML 文件,例如:/unsupported
.
现在我正在为页面提供空布局:
但我需要它只是一个普通的 HTML 页面。
amazon-web-services - 如何使用 S3 在 aws 中设置静态站点 - 是否有视觉指南?
有一堆教程过去了:
- 创建公共存储桶
- 更新 Route 53 中的 DNS
- 设置权限和策略
但它们似乎都不完整,而且似乎有大量的陷阱要知道。
有没有一组截图可以帮助我们这些喜欢视觉学习的人揭示一些奥秘?
docker - 官方 nginx docker 在提供静态文件时给出 403 Forbidden
我正在使用nginx docker 映像来提供一个简单的 index.html 文件。
如快速指南中所述,我有一个 Dockerfile,其中包含:
(www-root-dir
只包含一个index.html
文件)但是当我运行这个图像时,它返回 403 Forbidden。在日志中它说:
我已经对此进行了搜索,并且知道它与文件权限有关。
但是我应该为此设置什么权限/所有者?我试过chown
ingwww-data
和nginx
. chmod
ing也+rwx
没有帮助。
我的问题是:我到底应该怎么做?无论解决方案是什么,为什么官方文档中没有提到它?
编辑:
我也尝试过不使用自定义 html 文件。
这个简单的 Dockerfile 响应相同:
rendering - 如何在动态呈现中为搜索引擎用户代理提供静态 HTML?
我正在尝试使用“Prerender.cloud”服务创建一个动态渲染示例。我采用了我的 URL 的预呈现版本。
我可以把代码结构放在这里,但这不是问题。
a) 我净化了 CSS。b) 我删除了所有不必要的代码和资源。c)我更改了资源顺序/组织以获得更好的速度。d) 优化图像。e) 减少了请求的大小。f) 减小了页面大小。
我将页面速度提高了 3 秒,并减小了 %200 的大小。
但主要问题在这里:
我有一个 rootdomain.com/example-dynamic-rendering 页面。这是原始页面。我想把这个服务给客户。
而且,我有我的预渲染示例,我想知道如何将这个静态 HTML 页面从同一个 URL 提供给搜索引擎用户代理?
您对此任务有任何想法或代码吗?
请帮忙。
http - 如何将 cookie 用于 HTML 和 API 调用具有不同域的站点?
我在静态服务器(可能是 Amazon S3)上托管了一个单页应用程序网站,因此它是从我的应用程序的 URL 提供的,比如说“example.com”。所以该网站位于“https://example.com”。该站点使用使用 JavaScript 的 fetch() 调用进行的 API 调用来执行站点的功能。因为 example.com 指向一个静态服务器,API 调用会转到不同的域,我们称之为“xyz.execute-api.cloudhost.com”(它恰好位于 Amazon 的 API Gateway 后面)。
我想使用 cookie 来管理用户会话。也就是说,我希望一个 API 调用在响应中返回一个 Set-Cookie 标头,该标头将在浏览器上存储一个 cookie,并且我希望某些其他 API 调用在请求上传递一个 Cookie 标头,然后可以在 API 中对其进行验证。cookie 将始终来自 API 并返回到 API(不是页面的站点,因为页面本身托管在静态服务器上)。我希望在会话之间保存 cookie(具有一些到期生命周期并理解浏览器可能会由于空间限制或用户操作而清除它)。
但这很难做到。首先,我的 API 调用都是到一个单独的域,所以我必须使用 CORS 来授权调用。当我使用 CORS 时,服务器必须在 Access-Control-Allow-Headers 列表中包含“Cookie”,否则将不会返回。此外,当我使用 Javascript 的 fetch() API 进行调用时,我需要指定包含这样的凭据:
fetch(url, {method: "POST", credentials: "include"})
...否则 cookie 将不会被发送。返回 cookie 的 API 调用不需要接收 cookie,但我也必须credentials: "include"
为此指定,否则浏览器将忽略该 Set-Cookie 响应标头。
我还需要正确配置 cookie 本身。各种 API 调用有不同的路径,所以我需要Path=/
在我的 Set-Cookie 标头中指定。我更喜欢设置SameSite=Strict
、和 的值,但如果需要Secure
,我愿意灵活处理。HttpOnly
Max-Age
这就是我所得到的。我仍然无法让我的 cookie 被放置(使用 Set-Cookie)并以跨平台的方式返回到服务器(在 Cookie 中)。因为页面域与 API 域不同,我可能需要指定SameSite=None
,但如果我这样做,最近的标准更改可能还需要我设置Secure
(这很好)。即便如此,我也无法让所有主流浏览器都返回 cookie。我还希望使用相同的密钥设置一个新的 cookie 会替换现有的,但我也无法让它工作——当它返回时,我看到两个 cookie。
在这种情况下使用 cookie 的正确方法是什么?
drupal - 如何用静态 HTML 页面临时替换 Drupal?
我是一名没有 Drupal 经验的 JavaScript 开发人员。
在他们的开发人员继续前进后,我正在与教堂合作重新设计他们的 Drupal 站点,而没有留下任何笔记/文档/等。同时,我想放置一些静态 html 页面来代替 Drupal 站点,而不需要删除所有的 Drupal 数据。
我可以“关闭” Drupal,以便现在由 Drupal 提供支持的路由(即:)church.org/worship
将改为呈现静态文件版本(即:)church.org/worship/index.html
吗?
利用 Drupal 的“维护模式”是一种可能的解决方案吗?我在替换默认维护页面时找到了这篇文章https://drupalden.co.uk/static-maintenance-page-replace-drupals-default-maintenance-mode-page,但是其他路线呢?
谢谢你的帮助!
.net-core - 从完整的动态生成页面生成静态 HTML,.NET Core 3.1
我有一个简单的 .NET Core 3.1 应用程序,它可以像 Web 应用程序通常那样生成页面。动态网站看起来很棒,但我需要将输出保存为完整的静态 HTML 页面以保存在某处。是否有一种简单的方法可以在完全生成后获取整个页面的 Web 应用程序代码中执行此操作,或者我应该使用单独的程序抓取生成的页面?
我正在使用带有 MVVM 设计模式的 Razor Pages。
reactjs - React 应用程序可以链接到公共文件夹上的静态 html 吗?
我正在使用react-router创建一个react应用程序来更改页面,但我有一个包含 Unity webgl 的静态 html。我无法将 webgl 嵌入到 react 应用程序中,或者不确定是否可行,但我确信 Unity webgl 可以在独立的 html 上运行,因为它在 Unity 的构建和运行期间运行,所以我只想转储网站公共文件夹中的Unity 构建文件(UnityWebGl.html、Build文件夹、TemplateData文件夹)然后在 react 上使用href 标签链接到它,而不会被 react-router 拦截。
老实说,我在第一次尝试使用href标记时能够使它工作,但愚蠢到不 git commit。这似乎也不稳定,所以我想知道在不使用后端服务器的情况下链接到 react 应用程序中的静态 html 的正确方法。
所以我在网站的公共文件夹中添加了 Unity 创建的UnityWebGl.html、Build和TemplateData文件夹。[图片]:https ://i.stack.imgur.com/DWiQF.png
这是链接到静态 html 的组件上
的href标记:<a target="_blank" href="/UnityWebGl.html"><Button>View Demo</Button></a>
我没有在 react-router 上添加静态 html 的路由,但不确定是否必须添加,因为我没有使用链接转到静态 html 页面:
顺便说一句,我在堆栈中看到了一些类似的问题,但它们都没有有效的答案或对我不起作用。
更新:我有点放弃了。也许 React JS 还没有准备好托管 WebGl 或静态 html,或者我只是不知道如何做,但对于那些也被这个问题困扰的人,我有一个替代解决方案。只需在https://simmer.io中上传您的 WebGL 构建文件夹以临时托管它,直到经过测试的解决方案发挥作用。
next.js - Next.js 中的客户端初始化与静态 HTML 导出
我们正在使用 react-i18next 开发一个 Next.js 应用程序进行本地化。我们正在使用next export
(静态 HTML 导出)。react-i18next 库需要初始化代码,我不知道在哪里调用它。
(我们没有使用 next-i18next,因为它不适用于 next export。)
现在我在一个单独的模块(页面/之外)中进行了初始化。如果我将该模块导入 pages/_app.tsx 并运行构建脚本 ( next build && next export
),构建会挂起。当我按 Ctrl-C 时,我得到:
错误:setRawMode EIO
如果我尝试从自定义 Document导入它,也会发生同样的事情。
我目前的解决方法是在 pages/index.tsx 中导入初始化模块——这可行,但感觉不对。
该项目使用 TypeScript 和 yarn v1,并使用create-next-app
(以防万一)搭建脚手架。
blazor-webassembly - Blazor WebAssembly 使用地址栏导航
我创建了一个新的 Blazor WebAssembly 项目,构建并发布了它,并将它部署到带有其他一些静态 html 文件的 Amazon S3 存储桶中。这就是我想要使用 Blazor 应用程序的方式。但是,我注意到如果我在地址栏中键入地址,即使是 Counter 或 FetchData 页面,它也不起作用。当我在 Blazor 自己的菜单中单击它们的链接时,这些页面可以正常工作。
我想我明白这一点,但这是 Blazor 的限制吗?您不能输入 URL 或使用标准超链接吗?有没有办法克服这个?