我必须通过Javascript调用ActionScript方法,但是我在访问flash对象时遇到了问题.我在swfobject的帮助下嵌入了flash文件.
以前,当我使用静态发布方法时,我可以通过调用这些方法轻松获取flash对象:
swfobject.registerObject("flash_object", "9", "expressInstall.swf");
var flash_object = swfobject.getObjectById("flash_object");
Run Code Online (Sandbox Code Playgroud)
由于某些技术原因,现在我必须使用动态发布方法(使用swfobject.embedSWF).但是,如文档中所述,只有在使用静态发布方法时才能使用方法getObjectById.
现在,我该如何访问flash对象?
干杯,安德里
所以,我一直坚持这个问题一段时间,这引起了很多挫折.我在很多论坛页面上找到了很多人,他们分享了同样的问题,但没有人给出明确的答案,为什么会抛出这个错误以及如何解决它.
我正在使用swfObject 2.2将背景视频嵌入到我正在处理的页面上并且IE7/IE8抛出错误:"对象不支持此属性或方法"由于第48行字符3.打开开发人员工具要查看导致此错误的代码,我发现了这个:
function __flash__addCallback (instance, name) {
instance[name] = function () {
return eval(instance.CallFunction("<invoke name=\""+name+"\" returntype=\"javascript\">" + __flash__argumentsToXML(arguments,0) + "</invoke>"));
}
}
Run Code Online (Sandbox Code Playgroud)
我试着在我的代码中查找我出错的地方并注释掉了除此之外的所有内容:
swfobject.embedSWF('http://localhost/flash/player.swf', 'video_player', '100%', '100%', '9.0.0');
Run Code Online (Sandbox Code Playgroud)
这是swfobject正在寻找的元素:
<div id="video_player"></div>
Run Code Online (Sandbox Code Playgroud)
为了更进一步,我使用了一个完全空的.swf文件来确保.swf文件本身没有抛出错误.
我真的想知道是否有人使用swfobject有这个错误的经验,如果有什么我可以做的解决它.
jquery swfobject addcallback internet-explorer-8 internet-explorer-7
我已经实现了无格式播放器,到目前为止,播放,暂停,更改视频,静音,取消静音等必要控件似乎都能通过JavaScript正常工作.我现在需要通过JavaScript将无边框播放器发送到"全屏"模式.
JavaScript API播放器包含全屏按钮,但无边框播放器不包括; 事实上; 无铬播放器不应该包含任何按钮.因此,我需要通过JavaScript设置全屏模式,但无法找到任何记录的方法.知道这是否可行?
仅供参考,我正在使用SWFObject来嵌入播放器.
参考文献:
通过SWFobject和AJAX,我把视频放到了某个地方<div>.
使用jQuery我试过这个:
$('#youtubepreview').html('');
Run Code Online (Sandbox Code Playgroud)
然而,根本没有删除它 - 视频仍然在那里.
有任何想法吗?
有很多人抱怨SWF上的加载时间很慢,但这样看起来很好.
我想在SWFObject javascript中添加一个加载计时器来计算加载SWF所需的时间,然后将其发送给我们(我将通过AJAX执行此操作).
我已经研究了使用SWFObject回调的可能性,它每10毫秒启动一个计时器,然后一旦成功就会停止.但是,看看这个,如果嵌入成功,而不是加载,这只是一个开关.
function loadSWF(playURL){
swfobject.embedSWF(playURL, "playdiv", "170", "90", "9.0.0", "expressInstall.swf", color:face00}, {wmode:"opaque",allowfullscreen:"true",allowScriptAccess:"always"}, '', function(e) {
var loadTimer = window.setInterval(function() {
if(e.success) {
milSeconds = milSeconds+10;
clearInterval(loadTimer); alert('TIME ' + milSeconds);
} else {
milSeconds = milSeconds+10;
}
},10);
});
}
Run Code Online (Sandbox Code Playgroud)
这就是我现在所拥有的.Obv不会做我们需要的.
还有其他人可以效仿吗?
我有一个使用 BiteArray 解压缩 ZIP 文件的 .fla 程序。为了使用这个 BiteArray,我在 Adobe AIR 中更改了文档的发布设置。
我试图将这个应用程序嵌入到 HTML 页面中,就像你在 swf 文件中所做的那样,所以使用 SWFObject,但没有显示任何内容,即使我在本地运行 swf。
有一种特殊的方法可以在 Adobe AIR 中管理 swf?
swfobject ×6
flash ×3
javascript ×2
jquery ×2
youtube-api ×2
addcallback ×1
adobe ×1
air ×1
apache-flex ×1
fullscreen ×1
load-time ×1