javascript - 将多个脚本标签附加到在 React 中同步执行的头部
问题描述
我正在尝试使用react-helmet
. 我希望这些脚本按照它们包含的顺序执行,正如人们通常期望在常规 HTML 中所期望的那样。但似乎有一个已知的错误使react-helmet
脚本异步加载,并且它们以随机顺序执行,这会扰乱预期用途,因为某些脚本依赖于其他脚本。
有没有办法将多个脚本标签附加到<head>
页面的响应中,以便它们按顺序执行?
这是我的代码:
<Helmet>
{isPermissionAllowed && (
<script type="text/javascript" src={getFirstEndpoint()}></script>
)}
{isPermissionAllowed && (
<script type="text/javascript">{`window.sample = "${getSample()}";`}</script>
)}
{isPermissionAllowed && (
<script type="text/javascript" src={getSecondEndpoint()}></script>
)}
{isPermissionAllowed && (
<script type="text/javascript">window.example.text["app.sample"] = "sample";</script>
)}
</Helmet>
解决方案
你可以在你的内部尝试这种方式app.jsx
:
const script = document.createElement("script");
script.src = 'Script source';
// script.[add attributes requires to you]
document.head.appendChild(script);
推荐阅读
- powershell - 与 Powershell IDE 相比,Powershell.exe 中的结果不同
- java - 如何将日期时间转换为前格式 2019-02-28T11:30:00.000Z?
- maxima - 如何在没有评估的情况下输出方程,但将变量替换为它们的值?
- javascript - Javascript Async/Await 不返回,更像 Await_Forever
- sql - 使用 PowerShell 将 SQL varbinary 内容转换为 .pkg 文件
- google-apps-script - 用于清除单元格中的复选框和注释的 Google 脚本也会意外清除 HYPERLINKS
- angular - 根据用户输入以角度 5+ 加载动态组件
- java - 在 Firebase 中处理设备令牌
- c++ - 通过 new() 调用初始化引用成员
- vhdl - 是否可以为输出端口提供默认值,以允许在不需要端口的情况下调整大小?