我已经使用 google swiffy v5.2 转换了多个 swf 文件,并且我的新动画将显示在许多不同的页面上,其中大部分我无法控制或访问。为了让动画工作,它需要 swiffy 的 runtime.js 文件,它在页面上可能看起来像这样:
<script src="https://www.gstatic.com/swiffy/v5.2/runtime.js"></script>
当我在同一页面上有多个动画实例或客户端自己包含此 runtime.js 文件时,就会出现问题。检查 javascript 控制台时,我收到此错误:
Uncaught TypeError: Cannot redefine property: __swiffy_override - runtime.js:186
如果我只是担心与自己的冲突,我可能会跟踪变量或检查脚本 src 是否已经存在,但是当客户的页面可能已重命名或更改此文件的源时,我没有这种奢侈。
当页面上包含同一个 javascript 文件的多个实例时,有没有办法防止 swiffy runtime.js 重新定义此属性?