gpt4 book ai didi

javascript - Firefox 中的零星 "SetVariable is not a function"

转载 作者:行者123 更新时间:2023-11-30 13:42:39 25 4
gpt4 key购买 nike

我正在使用 swfObject 在我的应用程序中嵌入一个 Flash 播放器。偶尔,我在尝试与嵌入式 Flash 对象通信时会在 FireFox 中看到错误(仅在 IE 或 Chrome 中没有)。错误说“SetVariable 不是函数”。导致此错误的代码刚才执行得很好,现在显示此错误。如果我重新加载页面并重新运行,这种情况不会再次发生的可能性很大。

我在网络上看到有关 FF 不能很好地与 SetVariable 配合使用的报告,但没有任何修复方法。显然 swfObject 应该隐藏所有这些,但它没有。

这是我的代码:

...
var flashvars=...
var params=...
var attributes = {};
attributes.id = "my_player";

if( swfobject.hasFlashPlayerVersion("9.0.0") )
{
swfobject.embedSWF("my_player_js.swf", "my_player_holder", "1", "1", "9.0.0", "", flashvars, params, attributes );
}
....

document.getElementById("my_player").SetVariable( "method:stop", "");

在 FF 上,最后一行有时会导致“SetVariable is not a function”错误。

有什么关于去哪里看的建议吗?

最佳答案

解决 .SetVariable is not a function in Firefox 错误的一个方法是

为 Id 和 Name 属性赋予与 Object 标签的 id 和 name 值不同的值。

var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
// Handle all the FSCommand messages in a Flash movie.
var bannerObj = isInternetExplorer ? document.all.banner : document.banner;
function getFlashMovieObject(movieName)
{
if (window.document[movieName])
{
return window.document[movieName];
}
if (navigator.appName.indexOf("Microsoft Internet")==-1)
{
if (document.embeds && document.embeds[movieName])
return document.embeds[movieName];
}
else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
{
return document.getElementById(movieName);
}

}

function LoadRefference()
{
bannerObj = getFlashMovieObject("banner");
if(typeof(bannerObj.SetVariable)=='undefined')
bannerObj = document.getElementById('embbanner');
}

确保在文档完全加载后调用 LoadRefference。您可以在 document.ready 方法中调用它

穆罕默德哈立德努尔

关于javascript - Firefox 中的零星 "SetVariable is not a function",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1393227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com