mod_pagespeed,防止某些内联 javascript 被移动到页面底部

mod_pagespeed, prevent some inline javascript from beeing moved to page bottom

我们使用 mod_pagespeed,它将我们的 javscript 移到结束 body 标记之前。

但是我们使用一些脚本将 html(一种形式)直接插入我们的 javscript 嵌入的地方:

<script charset="utf-8" type="text/javascript" src="//xyz.com/xyz.js"></script>
<script>
  xyz.forms.create({ 
    portalId: '26962234',
    formId: '5ba56a4c-04d0-419a-b82e-eec88c572346ß'
  });
</script>

mod_pagespeed 移动脚本,我们的表单现在生成到我们网站的页脚中。

有没有办法阻止 mod_pagespeed 移动某些 javascript,可能是通过在标签中设置 class 或 id 或数据属性?

<script data-modps="dont-move-this">
  xyz...
</script>

也许有人对这个问题有很好的解决方案。

亲切的问候,尤里

这看起来是一个 HubSpot 表单,我们可以使用表单嵌入代码中的 target 属性来指定要强制使用 HubSpot 表单的 <div>通过定位特定 HTML class 或 <div> 的 ID 来呈现。这样,无论脚本位于何处,target 属性都将指定页面上的现有元素,一旦构建,表单将被放置到该元素中。

您的嵌入代码最终看起来像这样:

<script charset="utf-8" type="text/javascript" src="//xyz.com/xyz.js"></script>
<script>
  xyz.forms.create({ 
    portalId: '2926962',
    formId: '5ba56a4c-04d0-419a-b82e-e7f9eec88c57',
    target: '.hs-form-1'
  });
</script>

然后您将有一个 <div>,您希望在其中使用您在嵌入代码的目标属性中指定的 class 或 ID 构建表单:<div class="hs-form-1"></div>

请确保在 formId 行之后添加一个逗号,以便正确格式化嵌入代码。嵌入代码中有参数的每一行都应该有一个逗号,最后一个参数除外。

可在此处找到有关自定义 HubSpot 表单嵌入代码的更多信息:https://developers.hubspot.com/docs/methods/forms/advanced_form_options

希望对您有所帮助!