[Ironruby-core] ScriptableMember and Silverlight

Curt Hagenlocher curth at microsoft.com
Thu Aug 14 16:02:20 EDT 2008

I don't know about the word "fixed" :). But attribute support is definitely one of the .NET interop scenarios on my radar.

From: ironruby-core-bounces at rubyforge.org [mailto:ironruby-core-bounces at rubyforge.org] On Behalf Of Jimmy Schementi
Sent: Thursday, August 14, 2008 12:45 PM
To: ironruby-core at rubyforge.org
Subject: Re: [Ironruby-core] ScriptableMember and Silverlight

Hey Sean,

Yeah, I'm well aware of the issue with not being able to use [ScriptableMember] for IronRuby. =(

1. Access Javascript variable from Ruby:

If in your HTML you have some variable:
<script type="text/javascript">
  var jsVar = "Hello from Javascript"

Then in your Ruby script you can access it:

Include System::Windows::Browser
HtmlPage.window.eval "jsVar"

2.  Access Ruby function from Javascript

This is not directly possible because of not having attribute support. Curt might have more input into whether this will be fixed in the future.

However, if you're not opposed to hacky solutions, attach Ruby to a JS event (HtmlElement#attach_event), and when you want data from Ruby fire the JS event and Ruby could write the data to the DOM (a hidden div, perhaps?). Ugh, that sucks, but it's what we've got today.

I'd suggest trying the first option, and we'll keep you posted on making Ruby objects scriptable from JS.


On 8/14/08 11:59 AM, "Sean Clark Hess" <seanhess at gmail.com> wrote:
Hello all,  I need some way to either access a javascript variable or expose a function to javascript to be called later.  I've tried option #2, with the following call, but I don't know how to specify a member function as scriptable.  In C#, you use a meta-flag [ScriptableMember] above the function.

HtmlPage.register_scriptable_object('mn', self)

What about the other approach?  I know you can access the dom, but I need to access a plain old variable from javascript.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/ironruby-core/attachments/20080814/cfa6ebf9/attachment.html>

More information about the Ironruby-core mailing list