0

我让 Highslide 打开一个 iframe 视频,它在除 IE8 之外的所有浏览器中运行良好(我没有尝试过 IE9)。在 IE8 中,不是扩展窗口工作,而是在新选项卡中打开并播放视频。

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

你以前见过 SoundManager,有没有遇到过什么冲突?你能提出什么建议吗?如果这超出了你的职位描述,我理解。但是让两个程序在同一页面上工作会很好。

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

代码中有一些简单的 php,它使用一组音频标题和 url 来显示 SoundManager 的选择,但它对 Highslide 没有影响。

您能给我的任何帮助将不胜感激。

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

谢谢。

标记

4

1 回答 1

2

我下载了Soundmanager2并在 IE8 中使用Highslide 图像Highslide 内联内容Highslide iframe进行了测试。唯一中断的组合是使用 Soundmanager2 + page-player.js 和 Highslide iframe 时。Highslide 内联内容和 Highslide 图像与 Soundmanager2 + page-player.js 配合得很好。打开像您这样的视频页面时,您必须使用 Highslide iframe。

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

我建议您就此联系Soundmanager2 支持,看看他们是否有解决方案。


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

所以解决这个问题的方法是将要打开的页面的 url 放在src 变量中的弹出窗口中在 onclick 而不是锚的 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>
于 2013-02-01T07:26:05.857 回答