javascript - Silverlight 和 Flash javascript 桥兼容性

标签 javascript silverlight flash

我正在为现有的 Flash 客户端开发 Silverlight4 的直接替代品。我想保持与现有 Flash HTML 桥 javascript 函数的兼容性,但我不知道如何直接在 Silverlight 客户端对象而不是包含的对象上公开 javascript 接口(interface)。

在 Flash 中,可以直接在客户端对象上调用 Bar(),如下所示:

var flashClient = document.GetElementById(_currentFlashId);  
flashClient.Bar(); 

但是在 Silverlight 中,我还没有找到直接在 Silverlight 对象上调用接口(interface)的方法。相反,接口(interface)似乎只能在包含的对象上公开,如:

var silverlightClient = document.GetElementById(_currentSilverlightId);
silverlightClient.Foo.Bar();

上面的“Foo”对象似乎是必需的,因为

RegisterScriptableObject("Foo", MyFooObject);

不能用空的第一个参数调用。

那么,在 Silverlight 中,有什么方法可以让:

silverlightClient.Bar();

?

最佳答案

如果您只是想要一个具有兼容接口(interface)的对象,您可以这样做:

var silverlightClient = document.GetElementById(_currentSilverlightId).Foo;

关于javascript - Silverlight 和 Flash javascript 桥兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4522031/

相关文章:

silverlight - 在 Silverlight 边框控件中删除边框线(有点像border-style-bottom :none in css)?

html - 选择一种技术……为什么不选择 Flash?

c# - 如何连接 Youtube 视频(Flash Player?)以减慢播放速度?

javascript - 图像未显示在列表、React 中

javascript - 访问作用域对象

c# - ValueConverter 的依赖属性

c# - Silverlight 4 剪贴板安全异常 "access is not allowed"?

actionscript-3 - 使用 if 语句未定义的属性或对象仍然给出错误

javascript - 如何按特定顺序运行 Nightwatch 测试?

javascript - 我是否总是需要等待才能点击?