我有一个带有FCKEditor的页面。我已在其上安装了“嵌入视频”插件。
当我在任何浏览器(IE,Chrome,Opera,Safari)中查看此页面并嵌入YouTube视频链接时,它预览得很好,但预览不会显示在FireFox中!
生成的HTML如下:
<iframe frameborder="0" style="width: 100%; height: 100%;">
<html dir="rtl">
<head>
<!-- Lots of FCK Scripts and Styles -->
</head>
<body spellcheck="false">
<object height="225px" width="300px">
<param name="movie" value="http://www.youtube.com/v/kecWETS1Zck&feature">
<param name="allowFullScreen" value="true">
<param name="allowscriptaccess" value="always">
<param name="wmode" value="transparent">
<embed height="225" width="300" src="http://www.youtube.com/v/kecWETS1Zck&feature" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" allowfullscreen="true">
<noembed>Download movie: &lt;A HREF="http://www.youtube.com/v/kecWETS1Zck&amp;feature"&gt;http://www.youtube.com/watch?v=kecWETS1Zck&amp;feature=g-logo&lt;/A&gt;</noembed>
</object><p><br type="_moz"></p>
</body>
</html>
</iframe>
我不明白为什么只在FF发生这种情况?
答案 0 :(得分:0)
<param>
&amp; <embed>
个节点未正确关闭。
也尝试这种方式:
<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/kecWETS1Zck&feature" height="225px" width="300px">
<param name="movie" value="http://www.youtube.com/v/kecWETS1Zck&feature"/>
<param name="allowFullScreen" value="true"/>
<param name="allowscriptaccess" value="always"/>
<param name="wmode" value="transparent"/>
<embed height="225" width="300" src="http://www.youtube.com/v/kecWETS1Zck&feature" type="application/x-shockwave-flash" allowscriptaccess="always" wmode="transparent" allowfullscreen="true"/>
<noembed>Download movie: &lt;A HREF="http://www.youtube.com/v/kecWETS1Zck&amp;feature"&gt;http://www.youtube.com/watch?v=kecWETS1Zck&amp;feature=g-logo&lt;/A&gt;</noembed>
</object>
答案 1 :(得分:0)
好的,我找到了解决方案。
首先,它是一个固有的FF问题。 FF不会显示iframe内部的对象或嵌入标签的预览。
在FCKEditor中有一个内置的JS类,名称为FCKEmbedAndObjectProcessor
,它有一个RefreshView
函数,它接受一个占位符元素(例如img标记和原始的embed / object元素)并且替换以便在浏览器画布中显示内容。
它会自动保存您之后可以使用fckEditor.UpdateLinkedField()
方法检索的嵌入标记。