【问题标题】:Wistia E-v1.js script being loaded twiceWistia E-v1.js 脚本被加载两次
【发布时间】:2016-10-08 11:48:33
【问题描述】:

所以我在脑海中调用带有脚本标签的 wistia 脚本,如下所示:

<script charSet='ISO-8859-1' src='//fast.wistia.com/assets/external/E-v1.js' async defer data-script='wistia' />

但是,当我查看 Chrome 上的网络选项卡时,我注意到来自 Wistia 的 E-v1.js 脚本被加载了两次,这非常重要,因为它是一个 273kb 脚本

脚本的第一次加载来自https://fast.wistia.com/assets/external/E-v1.js,我调用它的位置。

但是,脚本的第二次加载来自 iframe,尽管我没有在页面上放置任何 iframe。即使在不包含任何 wistia 视频的网页上,此 iframe 也会调用该脚本。推荐人是:https://fast.wistia.com/embed/iframe_shim?domain=com

这里发生了什么?我认为这是 wistia 试图通过 iframe 延迟加载脚本的一些有用的行为,但它已经加载了......

【问题讨论】:

  • 你也有yoast吗?
  • @DavidR wordpress 插件?不,我们不是。
  • @DavidR 我从未提到过 Wordpress ......它与 Wordpress 无关。这是一个 React 通用站点。这是我遇到此问题的唯一外部脚本。
  • 对不起.. 删除了我的评论。
  • 嗨@John,我也遇到了同样的问题,你解决了吗?

标签: javascript asynchronous video iframe wistia


【解决方案1】:

所以我联系了 Wistia 并得到了答复。他们的开发实践并不完全直观。

这家伙是这么说的:

iframe_shim 是一种跟踪 visitor_key 以进行统计跟踪的方法,并将该信息存储在 fast.wistia 域而不是您的域中。对于更轻量级的方法,您可以在页面上的脚本标签中设置 window.wistiaIframeShim = false,这将阻止 E-v1.js 再次加载。然后将通过 cookie 和 localstorage 直接在您的域而不是 fast.wistia.com 域上跟踪访问者。据我所知,这应该没有问题,我们最终会改变它的工作方式以提高效率,只是还没有优先考虑。

所以他们似乎从两个不同的来源加载了两次,只是为了在他们自己的域而不是客户端上存储少量信息。对我来说似乎很可笑,但我现在可以确认您所要做的就是更改该窗口变量。

修复: window.wistiaIframeShim = false

【讨论】:

    猜你喜欢
    • 2020-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 2017-11-13
    相关资源
    最近更新 更多