javascript - 如何将 Google Analytics 脚本添加到 Uno WebAssembly
问题描述
我正在尝试将谷歌标签管理器脚本添加到 Wasm 项目。为此,我在文件夹中创建了一个新的脚本localscript.js
文件WasmScripts
。这就是该文件的样子
(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 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');
}
);
这将使箭头函数中的代码在脚本下载后执行。
推荐阅读
- regex - 使用正则表达式解析 SCAPROC 日志文件
- magento2 - 为 magento 站点利用浏览器缓存
- xml - XSL-FO:设置固定的静态内容高度?
- java - Internet Explorer 未选择网页上的元素
- amazon-s3 - Ember-uploader s3上传无效的预检响应?
- java - java - org.openqa.selenium.ElementNotVisibleException:元素不可见
- xml - 处理 3 中的纬度长坐标映射不正确,需要旋转
- javascript - 等待 foreach 内的可观察订阅结束
- ios - 具有动态大小单元格间距问题的 UICollectionViewCell
- java - 如何使用 org.testng.TestNG 将参数输入到此测试运行中?