如何从Blazor服务器调用谷歌标签管理器



我需要从我的Blazor服务器站点调用一个谷歌GTM脚本。我知道,根据架构,我不能在Index.Razor的HTML部分进行脚本调用。我已经在同一项目中调用了Index.Razor中OnInitialized的重写中的Javascript跟踪函数,这还可以,但当我在Google GTM上尝试相同的解决方案时,它并没有被网站解雇。

我在GitHub中发现了一个已关闭的16218(由Steve Sanderson关闭(,同时试图实现BrainLugs83的一个建议。

针对已解决的问题提出的解决方案是创建一个共享组件,该组件暂时抑制错误BL999。在解决方案中,他提到,然后我们可以在HTML中添加脚本。我试过了,但仍然给了我同样的错误,可能是因为我没有正确调用它。

";像素";跟踪Javascript代码只是Javascript代码,GTM是一个Javascript函数。

我需要知道如何从我的OnInitialized 调用针对已关闭问题提出的组件

JS.InvokeVoidAsync("pixel");  // this worked
//JS.InvokeVoidAsync("GTM");  // this did not work
////////////////////////////////////// ??NavManager.NavigateTo(GTM);
var uri = NavManager.ToAbsoluteUri(NavManager.Uri);
//     userData.ParseUri(uri);
base.OnInitialized();

如果社区中有人知道如何从Blazor Server调用GTM脚本,请提供帮助。

提前谢谢。

只需将标记的代码放在_host.html中即可。不要使用JS interop,因为它在Blazor Server框架之外。

最新更新