【问题标题】:mod_pagespeed, prevent some inline javascript from beeing moved to page bottommod_pagespeed,防止一些内联javascript被移动到页面底部
【发布时间】:2017-09-22 14:38:15
【问题描述】:

我们使用 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,可能是通过在标签中设置类或 id 或数据属性?

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

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

亲切的问候,尤里

【问题讨论】:

    标签: javascript html mod-pagespeed


    【解决方案1】:

    这看起来是一个 HubSpot 表单,我们可以使用表单嵌入代码中的 target 属性来指定要强制 HubSpot 表单渲染的&lt;div&gt; &lt;div&gt; 的 HTML 类或 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>
    

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

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

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

    我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      • 2013-03-18
      • 1970-01-01
      • 2022-08-19
      • 2017-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多