作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
将唯一键添加到多表全文 bool 搜索时,结果循环通过 3 个任意状态中的 1 个,只有 1 个是正确的。 在检查下面的 sqlfiddle 时请记住这一点,因为查询最初可能会正常工作 - 在这种情况
我是一名优秀的程序员,十分优秀!