SoundManager2无法与TurboLinks一起使用

时间:2013-06-02 01:33:09

标签: soundmanager2 turbolinks

TurboLinks的页面更改消除了SoundManager2插入的Flash视频,打破了它。当我发挥它投掷的东西时(Chromium 25):

Uncaught TypeError: Object #<HTMLEmbedElement> has no method '_createSound'

我试过调用reboot:

soundManager.reboot() if soundManager.ok()

然后抛出has no method '_destroySound'

有没有人知道如何解决这个问题?

1 个答案:

答案 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: '/'