在一页上嵌入多种字体

Multiple typeform embeds on one page

我有一个页面嵌入了 25 种类型的表单 (http://www.typeform.com)。

每次嵌入类型表单时,我都会添加一个 link,然后在其下方添加脚本(见下文)。

单击 link 时,会在页面上打开一个弹出窗口,其中包含表单。

我想知道,是否可以只添加一次脚本,然后让每个 link 在单击时触发它,而不是为每个嵌入添加脚本?我认为它对页面加载的影响很大,该脚本加载了 25 次。

<a class="typeform-share" href="https://TYPEFORMACCOUNTNAME.typeform.com/to/OnOMuV" data-mode="1" target="_blank">APPLY</a>

<script>(function(){var qs,js,q,s,d=document,gi=d.getElementById,ce=d.createElement,gt=d.getElementsByTagName,id='typef_orm',b='https://s3-eu-west-1.amazonaws.com/share.typeform.com/';if(!gi.call(d,id)){js=ce.call(d,'script');js.id=id;js.src=b+'share.js';q=gt.call(d,'script')[0];q.parentNode.insertBefore(js,q)}})()</script><p class="share-this-role">Share this role</p>

根据您的代码,并使用我的一些 typeform 小部件进行测试,如果您的 html 上只有最后一个 <script>...</script> 标签,如果它包含相同的 XXX.js 文件,您应该是安全的,例如:

示例 1

您的代码中有一个 share.js

<script>(function(){var qs,js,q,s,d=document,gi=d.getElementById,ce=d.createElement,gt=d.getElementsByTagName,id='typef_orm',b='https://s3-eu-west-1.amazonaws.com/share.typeform.com/';if(!gi.call(d,id)){js=ce.call(d,'script');js.id=id;js.src=b+'share.js';q=gt.call(d,'script')[0];q.parentNode.insertBefore(js,q)}})()</script>

并删除其他 <script>...</script> 如果它包含 share.js 除了 最后一个;

示例 2

下面的代码中有 widget.js:

<script>(function(){var qs,js,q,s,d=document,gi=d.getElementById,ce=d.createElement,gt=d.getElementsByTagName,id='typef_orm',b='https://s3-eu-west-1.amazonaws.com/share.typeform.com/';if(!gi.call(d,id)){js=ce.call(d,'script');js.id=id;js.src=b+'widget.js';q=gt.call(d,'script')[0];q.parentNode.insertBefore(js,q)}})()</script>

并且删除包含 widget.js 的所有其他 <script>...</script> 是安全的,除了 最后一个;

所以它是基于typeform代码中的JS文件工作的

不要丢失任何 .js,而且你不需要超过 1

如果您的测试不起作用,请纠正我。因为它有 25 种形式,所以预测所有事情并不容易。