提问者:小点点

在呈现之前同步加载脚本(以编程方式在<head>)


我有一个想要同步加载的javascript脚本,但是脚本的URL是由一个cookie的值决定的。 例如:

<script src="/js/[user-id-from-cookie].js">

这个脚本必须加载到我的HTML文档的中,并且必须同步运行(它必须在下载和执行时阻塞主线程)。

如何使用javascript:

  1. 读取cookie的值
  2. 下载并同步执行脚本

我需要使用纯javascript,不需要jQuery等框架。

谢啦!


共1个答案

匿名用户

您可以使用document.write同步加载脚本。

但是这样使用可能会造成一些滞后,我想提供一些替代方案。

  • 解析cookie并按服务器为每个用户返回不同的脚本。 (推荐,但需要服务器支持)
  • 加载所有脚本,但重写它们,以便根据条件只执行一个脚本。 (当然不适用于大量的变体)
  • 隐藏主体,仅在预处理完成后显示。 (实际上不是如何加载脚本,但您可以异步加载它)