我的flex项目使用FA-Bridge,显然在Safari浏览器中我无法调用任何传入参数的公共AS函数。例如,我可以从javascript调用此AS函数:
var myButton = CreateNewButton();
myButton.setLabel('Click here');
但是,如果我尝试在这样的单一声明中调用它:
var myButton = CreateNewButton('Click here');
在上面的调用中,safari在safari javascript控制台中抛出错误#1063(即参数计数不匹配),并指向FaBridge.js中的第561行。它认为我没有传递所需的参数 现在上述问题仅存在于Safari上。上述两种方法都适用于IE,Firefox和Chrome浏览器 注意:我没有使用swfObject来嵌入我的swf。
答案 0 :(得分:0)
这可能会更好地作为评论而不是答案...但我猜不到它的受欢迎程度....
我在通过js桥接呼叫方面遇到了类似的问题。经过大量的实验,我发现HTML doc类型就是问题所在。如果某些浏览器不喜欢doc类型,或者你完全错过了一个浏览器,那么它们就不会让这些调用通过。
我最终不得不离开the list,直到找到一个在我测试的所有浏览器中运行良好的版本。如果我没记错的话就是这个:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
也许这些问题是无关紧要的,但我认为值得一试。
干杯!