克隆silverlight嵌入对象会导致空白元素

我有一个带有一些silverlight嵌入对象的页面。 一个玩家可见,所有其他玩家都被隐藏(显示:无)。 当我单击缩略图时,代码将克隆相应的隐藏对象,并用此克隆对象替换可见播放器。

这在Firefox,Chrome和IE9中运行良好,但在IE8中它无法正常工作。 可见的玩家被取代,但这导致一个大的白色空silverlight玩家。 如果右键单击此白色元素,它将显示silverlight上下文菜单,但不显示任何其他内容。 控制台或其他一些线索没有错误。

有这个问题的网站在线: http : //www.vioranje.nl
在IE8中打开它,然后单击标题栏“web afleveringen”下面的播放按钮,看看会发生什么。

这是克隆Silverlight播放器的jQuery代码(附加到缩略图的click事件处理程序):

var embedType = (element.data().embedtype) ? element.data().embedtype : 'object'; var $embed = $element.find('.large .embed '+embedType); var $newplayer = $(this).find('.embed'); var newplayerHTML = $newplayer.html(); var $newplayerInstance = $(newplayerHTML); $embed.replaceWith($newplayerInstance); $newplayerInstance.show(); 

我该怎么做才能解决这个问题?

我试图调试你的情况,它接口像IE8处理标签并重新写入如下:

  

这显然会丢失您传递给Silverlightvideo播放器Object的参数。

这里有一些技巧可以帮助您解决所有浏览器的问题,尝试使用a而不是使用隐藏嵌入标记,使用标记..您的Silverlight代码在隐藏时不会被执行,因为它将是视为文本而不是HTML代码。

所以在HTML模板代码 “tpl_rtlxlvideo”中:

更换:

  

附:

  

而对于Javascript方面

更换:

 var newplayerHTML = $newplayer.html(); 

附:

 var newplayerHTML = $newplayer.val(); 

希望能帮到你:)