У меня есть это:
(function ($) {
var myObj = {
callMe: function (msg) {
console.log(msg);
}
}
})(jQuery);
и я хотел бы вызвать функцию callMe
из Silverlight.
Это не похоже на работу:
ScriptObject jsObject = (ScriptObject)HtmlPage.Window.GetProperty("callMe");
jsObject.InvokeSelf('This is a message');
Как мне использовать функцию callMe, чтобы я мог вызывать ее из Silverlight?
Ответ: (поскольку у меня недостаточно представителей, я должен ответить здесь)
Томалак,
Вы указали мне в правильном направлении!
На самом деле он работает в обоих направлениях, если вы сделаете его свойством объекта окна:
<script type="text/javascript">
(function ($) {
var myObj = {
callThis:function(msg){
console.log("Internal call:" + msg);
}
};
window.myObj = myObj;
window.callMe = function (msg) {
console.log("External call:" + msg);
}
})(jQuery);
</script>
<script type="text/javascript">
window.callMe("well, hello there...");
window.myObj.callThis("... and hello you!");
</script>