Wistia E-v1.js 脚本被加载两次
Wistia E-v1.js script being loaded twice
所以我在调用 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 延迟加载他们的脚本的一些尝试有用的行为,但它已经加载了...
所以我联系了Wistia并得到了答复。他们的开发实践并不完全直观。
这家伙是这么说的:
The iframe_shim is a way of tracking the visitor_key for stats tracking, and storing that information on the fast.wistia domain rather than your domain. For a more lightweight method of doing that, you can set window.wistiaIframeShim = false in script tags on your page, and that will stop E-v1.js from loading again. Visitors will then be tracked via a cookie and localstorage directly on your domain instead of the fast.wistia.com domain. As far as I know this shouldn't be problematic, and we'll eventually be changing how that works to make it more efficient, it just hasn't been prioritized yet.
所以他们似乎从两个不同的来源加载了两次,只是为了在他们自己的域而不是客户端上存储少量信息。对我来说似乎很荒谬,但我现在可以确认,您所要做的就是更改 window 变量。
修复: window.wistiaIframeShim = false
所以我在调用 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 延迟加载他们的脚本的一些尝试有用的行为,但它已经加载了...
所以我联系了Wistia并得到了答复。他们的开发实践并不完全直观。
这家伙是这么说的:
The iframe_shim is a way of tracking the visitor_key for stats tracking, and storing that information on the fast.wistia domain rather than your domain. For a more lightweight method of doing that, you can set window.wistiaIframeShim = false in script tags on your page, and that will stop E-v1.js from loading again. Visitors will then be tracked via a cookie and localstorage directly on your domain instead of the fast.wistia.com domain. As far as I know this shouldn't be problematic, and we'll eventually be changing how that works to make it more efficient, it just hasn't been prioritized yet.
所以他们似乎从两个不同的来源加载了两次,只是为了在他们自己的域而不是客户端上存储少量信息。对我来说似乎很荒谬,但我现在可以确认,您所要做的就是更改 window 变量。
修复: window.wistiaIframeShim = false