# Run ruby from javascript isn't work

**URL:** <https://forums.sketchup.com/t/run-ruby-from-javascript-isnt-work/250664>\
**Category:** Ruby API\
**Created:** [December 5, 2023, 3:24pm UTC](https://forums.sketchup.com/t/run-ruby-from-javascript-isnt-work/250664 "2023-12-05T15:24:49Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![ray4](https://avatars.discourse-cdn.com/v4/letter/r/e36b37/32.png) [@ray4](https://forums.sketchup.com/u/ray4)\
**Post date:** [December 5, 2023, 3:24pm UTC](https://forums.sketchup.com/t/run-ruby-from-javascript-isnt-work/250664/1 "2023-12-05T15:24:49Z")

</div>

Run ruby from javascript isn’t work. It’s happened when I put the code used to run Ruby inside Window.onload  
The first time opening htmlDialog, the code is working properly but when I close the htmlDialog then reopen it . The code is not working.

My Javascript:

```auto
<script>
window.onload = (event) => {
	sketchup.puts_string("window onload")
};
</script>

```

My .rb file:

```auto
$dialog.add_action_callback("puts_string") { |action_context, string|
	puts string.to_s
}

```

How to make it work?  
Thank you in advance!

---

<div class="post-metadata">

**Author:** ![dezmo](https://sea2.discourse-cdn.com/sketchup/user_avatar/forums.sketchup.com/dezmo/32/51058_2.png) [@dezmo](https://forums.sketchup.com/u/dezmo)\
**Post date:** [December 5, 2023, 4:22pm UTC](https://forums.sketchup.com/t/run-ruby-from-javascript-isnt-work/250664/2 "2023-12-05T16:22:58Z")

</div>

Read the first sentence - the “ **Note:…** ” - in documentation: [HtmlDialog #add\_action\_callback](https://ruby.sketchup.com/UI/HtmlDialog.html#add_action_callback-instance_method) method.  
\_\_  
DO NOT USE global variable!!!

---

<div class="post-metadata">

**Author:** ![ray4](https://avatars.discourse-cdn.com/v4/letter/r/e36b37/32.png) [@ray4](https://forums.sketchup.com/u/ray4)\
**Post date:** [December 6, 2023, 2:32am UTC](https://forums.sketchup.com/t/run-ruby-from-javascript-isnt-work/250664/3 "2023-12-06T02:32:24Z")

</div>

Thanks a lot! I didn’t notice that note.
