【发布时间】:2012-09-10 12:59:17
【问题描述】:
我无法在潮汐SDK 应用程序中从 JavaScript 访问 ruby 变量。我使用的 SDK 版本是当前最新的 1.2.0.RC4 版本。这是一个基本示例:
<!DOCTYPE html>
<html>
<head>
<title>Hello World</title>
<style type="text/css">
body {background: #fff;}
</style>
</head>
<body>
<h1>Hello World</h1>
<script type="text/python">
helloP = "Hello from Python!";
</script>
<script type="text/ruby">
$helloR = "Hello from Ruby!";
</script>
<script type="text/php">
$helloPHP = "Hello from PHP!";
</script>
<script type="text/javascript">
alert("Hello from JavaScript!");
alert(helloP);
alert(helloPHP);
alert(helloR);
</script>
</body>
</html>
在这个例子中,我已经为 python、PHP 和 ruby 变量声明并赋值。 JavaScript alert() 函数适用于 python 和 PHP 变量,但不适用于 ruby 变量。所以,警报(helloP);和警报(helloPHP);工作并显示包含这些变量内容的弹出对话框,但 alert(helloR) 不显示任何内容。
另一方面,Ruby 函数可以被 JavaScript 看到。因此,如果 ruby_function 是一个 ruby 函数,则在 JavaScript 中 alert( ruby_function() ) 有效。
那么,JavaScript 怎样才能看到 ruby 变量呢?有什么建议吗?
【问题讨论】:
-
在 Win7x64 SDK 1.2.0RC6d 上检查了这一点 - 可以确认这一点。 helloP 和 HelloPHP 变量都成为了窗口对象的属性,而 helloR 变量没有。在我看来像一些克罗虫。
标签: tidesdk