如何将 Google 分析脚本添加到 Uno WebAssembly
How to add Google Analytics Scripts to Uno WebAssembly
我正在尝试向 Wasm 项目添加一个 google 标签管理器脚本。为此,我在 WasmScripts
文件夹中创建了一个新的脚本文件 localscript.js
。这是该文件的样子
(function () {
const head = document.getElementsByTagName("head")[0];
var myScript = document.createElement('script');
myScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=UA-1234567-7');
head.appendChild(myScript);
})();
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-1234567-7');
然后我将这个脚本嵌入到 wasm.csproj
文件中,像这样
<ItemGroup>
<EmbeddedResource Include="WasmCSS\Fonts.css" />
<EmbeddedResource Include="WasmScripts\AppManifest.js" />
<EmbeddedResource Include="WasmScripts\localscript.js" />
</ItemGroup>
我觉得一切都很好,但是当我 运行 这个时,localscript.js
在 googletagmanager
之前加载。我怎样才能解决这个问题,让 googletagmanager
排在前面,支持代码排在后面?
您可以使用 Uno.Wasm.Bootstrap provided require.js
:
require(
["https://www.googletagmanager.com/gtag/js?id=UA-1234567-7"],
() => {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-1234567-7');
}
);
这将使箭头函数中的代码在脚本下载后执行。
我正在尝试向 Wasm 项目添加一个 google 标签管理器脚本。为此,我在 WasmScripts
文件夹中创建了一个新的脚本文件 localscript.js
。这是该文件的样子
(function () {
const head = document.getElementsByTagName("head")[0];
var myScript = document.createElement('script');
myScript.setAttribute('src', 'https://www.googletagmanager.com/gtag/js?id=UA-1234567-7');
head.appendChild(myScript);
})();
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-1234567-7');
然后我将这个脚本嵌入到 wasm.csproj
文件中,像这样
<ItemGroup>
<EmbeddedResource Include="WasmCSS\Fonts.css" />
<EmbeddedResource Include="WasmScripts\AppManifest.js" />
<EmbeddedResource Include="WasmScripts\localscript.js" />
</ItemGroup>
我觉得一切都很好,但是当我 运行 这个时,localscript.js
在 googletagmanager
之前加载。我怎样才能解决这个问题,让 googletagmanager
排在前面,支持代码排在后面?
您可以使用 Uno.Wasm.Bootstrap provided require.js
:
require(
["https://www.googletagmanager.com/gtag/js?id=UA-1234567-7"],
() => {
window.dataLayer = window.dataLayer || [];
function gtag() { dataLayer.push(arguments); }
gtag('js', new Date());
gtag('config', 'UA-1234567-7');
}
);
这将使箭头函数中的代码在脚本下载后执行。