因此,我称呼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并得到了答案。他们的开发实践并非完全直观。
这家伙说的是:
iframe_shim是一种跟踪visitor_key以进行统计信息跟踪的方法,并将该信息存储在fast.wistia域而不是您的域中。对于更轻巧的方法,可以在页面上的脚本标签中设置window.wistiaIframeShim = false,这将阻止E-v1.js再次加载。然后,将通过Cookie和本地存储直接在您的域而不是fast.wistia.com域上跟踪访问者。据我所知,这应该没有问题,我们最终将改变其工作方式以提高效率,但这还没有得到优先考虑。
因此,他们似乎从两个不同的来源加载了两次,只是为了在自己的域(而不是客户端)上存储少量信息。对我来说似乎很荒谬,但是我现在可以确认,您要做的就是更改该window变量。
修正:window.wistiaIframeShim = false