我需要从我的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框架之外。