1

如何在内部定义 JavaScript 函数?我试图在结束标记上加载一个 JavaScript 文件,但我仍然无法调用 JavaScript 文件中的函数。

这是 FBML 标签:

<fb:serverfbml>
  <script type="text/fbml">
    <fb:fbml>
      <a href="#" id="this" onclick="do_colors(this); return false">Hello World!</a>
      <script src="http://absolute.path.to/your/javascript/file.js"></script>
    </fb:fbml>
  </script>
</fb:serverfbml>

这是 file.js 中的 JavaScript 函数:

function random_int(lo, hi) { 
    return Math.floor((Math.random() * (hi - lo)) + lo) 
} 

function do_colors(obj) { 
    var r = random_int(0, 255), b = random_int(0, 255), g = random_int(0, 255); 
    obj.setStyle({background: 'rgb('+[r, g, b].join(',')+')', 
                        color: 'rgb('+[r<128?r+128:r-128, g<128?g+128:g-128, b<128?b+128:b-128].join(',')+')'}); 
}

我使用 rails 和 facebooker 来开发应用程序。关于包含 JavaScript 函数的任何想法或建议?

4

1 回答 1

0

您是否尝试先加载脚本?这里还有一些其他的指导方针。如果您更改脚本,我可以看到以下内容会如何咬您。

由于缓存策略设置为永不过期,因此您应该仅在脚本内容更改时更新 URL。例如,您可以将 http://foo.com/bar.js?v=1.0更改为 http://foo.com/bar.js?v=2.0http://foo.com/v1.0/当有新版本的脚本可用时,将bar.js 复制http://foo.com/v2.0/bar.js 。

于 2009-12-17T16:19:17.397 回答