FBML中的外部JS用法 - 无法访问外部脚本

时间:2010-04-27 23:52:26

标签: javascript facebook external fbml

我正在尝试创建一个小型Facebook应用并将其关联到标签中的粉丝页面。我试图在我的页面中包含一个外部javascript文件,并在按钮单击事件上调用方法。

以下是代码的一部分

<script language="Javascript" src="http://mysite.com/fb.js"></script>
<input type="button" value="Click....." onClick="javascript:showDialog();" />

fb.js的内容如下

function showDialog() {
    new Dialog().showMessage('Dialog', 'Button clickeed');
}

当我在粉丝页面加载标签时,它显示错误“不能允许外部脚本”,而当我直接加载画布URL [http://apps.facebook.com/...]并单击按钮时,它会工作[显示对话框] ]

脚本包含仅适用于画布,而不适用于配置文件页面吗?

我还有另外一个问题 最初我将脚本src作为相对路径,但它出错了相同的错误 - “不能允许外部脚本”。我不能使用外部脚本的相对路径吗?

2 个答案:

答案 0 :(得分:1)

它必然与application tabs的具体行为有关。

  

应用程序标签略有不同   不同于画布页面。当一个   用户首先进入选项卡,它位于   被动模式。这意味着申请   无法自动播放Flash或onload   JavaScript的。一旦用户与之交互   选项卡 - 就像单击Flash一样   对象,页面变得活跃,所以它   可以玩Flash,执行JavaScript,   等等。

对于应用程序选项卡,它需要嵌入FBML而不是外部资源。

答案 1 :(得分:0)

这不是问题吗? http://developers.facebook.com/docs/fbjs

“允许开发人员在其域中嵌入JavaScript的大多数提供商都强迫开发人员使用IFrame来对其代码进行沙箱化.Facebook采用了不同的方法来处理这个问题。您提供给我们的JavaScript会被解析,任何标识符(函数和变量)名称)以您的应用程序ID为前缀。“