javascript - Google 跟踪代码管理器 (GTM) 无法在 SharePoint 上运行

标签 javascript sharepoint google-api sharepoint-2013 google-tag-manager

我在 SharePoint 母版页的 body 标记内添加了 GTM 代码。

<body>
<--Body content goes here -->

<!-- Google Tag Manager -->
        <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXXXX"
        height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
        <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
        new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
        j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
        '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
        })(window,document,'script','dataLayer','GTM-T9XLSX');</script>
        <!-- End Google Tag Manager -->

</body>

但是脚本似乎没有正确触发,因为整个内容都由表单元素包装,如下所示。它由 SharePoint 生成。

<body>
    <form method="post" action="" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">
    <--Body content goes here -->

    <!-- Google Tag Manager -->
            <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXXXX"
            height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
            <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
            '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
            })(window,document,'script','dataLayer','GTM-T9XLSX');</script>
            <!-- End Google Tag Manager -->
   </form>
</body>

有没有办法可以在 SharePoint 中正确放置标记?

最佳答案

有一种解决方法。您可以直接编辑 SharePoint 2013 中的“.master”页面使用 sharepoint 设计器 和 在共享点表单的结束标记之后插入GTM,如下所示,

</SharePoint:SharePointForm>
<!-- Google Tag Manager -->
    <noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-XXXXXXXX"
    height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
    <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
    '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
    })(window,document,'script','dataLayer','sss');</script>
    <!-- End Google Tag Manager -->

关于javascript - Google 跟踪代码管理器 (GTM) 无法在 SharePoint 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26134131/

相关文章:

javascript - 有没有办法在没有服务器端语言的情况下进行 http head 请求并获取时间

c# - 初始化属性时的问题

powershell - New-WebServiceProxy 无法通过 NTLM 进行身份验证

powershell - 网站集还原后,SharePoint用户权限令人头疼

node.js - 如何使用 google-api-nodejs-client 获取群组成员列表

javascript - 如何使用代码在asp web表单中最后聚焦textarea

javascript - 如果数组包含特定值,则返回该值的完整 'content'

java - 哪个是唯一标识从 Ajax 到 Servlet 请求的客户端状态的最佳选择?

java - 使用 Google API 将网站添加到 Google 网站管理员

android - 错误 :No resource found that matches the given name (at 'resource' with value '@xml/provider_paths' )