由于与SoundManager冲突,Highslide在IE8中打开新页面

时间:2013-01-31 05:38:24

标签: highslide

我有Highslide打开iframe视频,它适用于所有浏览器但IE8(我还没有尝试过IE9)。在IE8中,视频打开并在新选项卡中播放,而不是使用扩展窗口。

页面很复杂,因为它还使用名为SoundManager的音频播放器程序。当我删除主SoundManager javascript链接时,Highslide正常工作。或者我可以在名为soundmanager.setup的页面上删除javascript函数,然后Highslide也可以。显然,这两个程序之间存在一些冲突。我试过在页面上移动脚本没有成功。我已经检查了代码并且找不到冲突,因为一切看起来都是模块化的并且包含在内。但我不是一个高级的javascript程序员,显然我错过了一些东西。

你以前见过SoundManager,你遇到过任何冲突吗?你能提出什么建议吗?如果这不在您的工作描述之内,我理解。但是让两个程序在同一页面上工作会很不错。

如果您想查看该页面,请点击此处:http://www.idesignmagic.com/silver/videotest.php页面标题下的青色视频播放按钮会触发Highslide扩展。

代码中有一些简单的php,它使用一系列音频标题和网址来显示SoundManager选项,但它对Highslide没有任何影响。

您可以给予我任何帮助。

[编辑:我对soundmanager.setup错了。它只是重置配置默认值。我将默认值替换为setup中的默认值,并从主页中删除了setup。我在IE8中得到了相同的非工作结果。但也许这意味着其中一个设置选择导致问题。 ]

感谢。

标记

1 个答案:

答案 0 :(得分:2)

我已下载Soundmanager2并在IE8中使用Highslide imageHighslide inline contentHighslide iframe进行了测试。打破的唯一组合是使用Soundmanager2 + page-player.js和Highslide iframe。 Highslide内联内容和Highslide图像适用于Soundmanager2 + page-player.js。在打开像你这样的视频页面时,你必须使用Highslide iframe。

当尝试打开Highslide iframe弹出窗口时,我注意到在iframe中断并且页面在浏览器中打开之前弹出窗口开始展开。看起来像page-player.js似乎触发了“突破iframe”功能。这与弹出窗口中的页面内容无关;我还测试了一个只包含段落中文本的页面。

我建议您就此问题与Soundmanager2 support联系,看看他们是否有解决方案。


更新4. feb。 2013:
在阅读Soundmanger2支持(https://getsatisfaction.com/schillmania/topics/conflict_between_soundmanager2_and_highslide_in_ie8#reply_11221943)的最新评论后,我认为将url放入href与此冲突之间可能存在关联。我用Highslide图像再次测试,发现这实际上也失败了。前几天我测试得太快了。 Highslide内联内容仍然有效,Highslide内联内容不会在href中使用url。

因此,解决方案是将要打开的页面的URL放在onclick中src variable的弹出窗口中,而不是锚点的href。

这意味着您需要使用此锚点打开弹出窗口:

<a href='javascript:;' onclick='return hs.htmlExpand(this, { objectType:"iframe", src: 'video/iframe-test.html', width: 670, objectWidth: 670, objectHeight: 410, objectLoadTime: "after", preserveContent: false } )' class='highslide'>
    <img src='images/play-button-small.png' alt='Click for video' width='40' height='53' title='Click to enlarge' >
</a>