我试图从javascript访问swf,所以我在tryocs中的这个例子是我想要修改的.http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html#includeExamplesSummary
但是,由于某种原因,它无法正常工作.我遇到的问题是它在Safari和Firefox中不起作用,只有在javascript将值传递给swf之前在函数中放置警报时它才有效.(似乎需要一些时间)我也尝试在as3中设置一个计时器,但是计时器不起作用,只有js中的警报才有帮助.
我想做的就是使用js告诉swf文件播放ep1.swf.这是我的js代码:
document.observe('dom:loaded', function() {
$('episode1').observe('click', function() {
var params = {wmode : "transparent", allowScriptAccess:"always", movie:"header"};
swfobject.embedSWF("swf/float.swf", "header", "100%", "100%", "9.0.0","expressInstall.swf", "", params, "");
sendToActionScript("ep1.swf");
});
})
function thisMovie(movieName) {
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
//alert("aaa")
return document[movieName];
}
}
function sendToActionScript(value) {
thisMovie('header').sendToActionScript(value);
}
Run Code Online (Sandbox Code Playgroud)
这是我的as3代码:
private function receivedFromJavaScript(value:String):void {
loader.load(new URLRequest(value));
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了很长时间,有谁知道如何解决这个问题?谢谢.
所以,我一直坚持这个问题一段时间,这引起了很多挫折.我在很多论坛页面上找到了很多人,他们分享了同样的问题,但没有人给出明确的答案,为什么会抛出这个错误以及如何解决它.
我正在使用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