我正在为现有的 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/