我正在尝试做一些与众不同的事情。我保证它有目的。我90%肯定无法完成,但想与天才仔细检查。
是否有可能在页面中有一个object / embeded .swf,让它显示,但不允许与它进行任何交互。举个例子,你能以某种方式改变youtube嵌入代码来显示播放器,但根本不允许与它进行任何交互吗?
我搜索了flash的变量列表,但没有看到任何可以执行此操作的内容。
由于
答案 0 :(得分:3)
使用分层方法:将div元素放在flash对象的顶部,使其大小相同且透明。就这样。不需要JavaScript。为了让IE6 / 7/8高兴,这当然不起作用,所以我们添加一个技巧:背景和零不透明度。您可能希望在单独的文件中添加仅IE的CSS以防止CSS失效。
重要提示:要使其发挥作用,wmode
必须设置为opaque
(如前面提到的TheBrain所述),父div
必须有一个位置设置后,孩子div
必须拥有position:absolute
和Flash动画的width
/ height
。 opacity
,filter
和background-color
仅适用于IE6 / 7/8兼容性。代码as-is跨浏览器工作(为清楚起见省略了一些细节),并且demonstrated on this page完整。
**更新:**必须设置父div
元素的宽度和高度,以防止某些未覆盖的边框进入。默认情况下,div为100%宽度。 IE添加了左边距,FF为flash动画添加了下边距。通过明确设置维度,这将按预期工作。要正确放置盖子,请更改盖子div的颜色和不透明度。此更改也在demo page。
<div style="position:relative;width:728px;height:90px;">
<div style="position:absolute;
width:728px;height:90px;
background-color:white;
opacity:0;filter: alpha(opacity=0);">
</div>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
width="728" height="90">
<... params etc ...>
<param name="wmode" value="opaque" />
<embed width="728" height="90"
type="application/x-shockwave-flash"
wmode="opaque"
etc-params=xyz>
</embed>
</object>
</div>
答案 1 :(得分:0)
并且不要忘记你需要闪存使wmode = opaque才能工作
答案 2 :(得分:0)
Youtube本身可以选择嵌入没有控件的视频。查看Chromeless player
Iirc你必须将version = 3作为参数传递给youtube网址。
答案 3 :(得分:0)
Youtube和Adobe刚刚推出了一个新的AS3 API,用于在YouTube中嵌入YouTube视频。
您应该查看以下链接:这个链接指导您如何设置AS3:RIA CODES: YouTube Chromeless Player AS3 API