TurboLinks的页面更改消除了SoundManager2插入的Flash视频,打破了它。当我发挥它投掷的东西时(Chromium 25):
Uncaught TypeError: Object #<HTMLEmbedElement> has no method '_createSound'
我试过调用reboot:
soundManager.reboot() if soundManager.ok()
然后抛出has no method '_destroySound'
。
有没有人知道如何解决这个问题?
答案 0 :(得分:0)
此代码修复了它:
recreateSoundManager = ->
sm2 = window.soundManager
if sm2?.ok()
sm2 = window.soundManager = new SoundManager()
sm2
在设置soundmanager2之前,在turbolinks页面加载时调用此方法。然后,您可以使用返回值,也可以从window.soundManager
正常访问。
jquery.turbolinks示例:
jQuery ->
soundManager = recreateSoundManager()
soundManager.setup url: '/'