2

我正在尝试创建一个小型 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 作为相对路径,但它出现了同样的错误 - “不能允许外部脚本”。我不能对外部脚本使用相对路径吗?

4

2 回答 2

1

势必与应用程序标签的具体行为有关。

应用程序选项卡与画布页面略有不同。当用户第一次进入选项卡时,它处于被动模式。这意味着应用程序无法自动播放 Flash 或加载 JavaScript。一旦用户与选项卡交互——比如单击 Flash 对象,页面就会变为活动状态,因此它可以播放 Flash、执行 JavaScript 等等。

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

于 2010-04-28T00:10:54.367 回答
0

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

“大多数允许开发人员在他们的域中嵌入 JavaScript 的提供商都强制开发人员使用 IFrame 来沙箱化他们的代码。Facebook 对这个问题采取了不同的方法。你给我们的 JavaScript 会被解析,任何标识符(函数和变量名)都会被解析前面加上您的应用程序 ID。”

于 2010-09-20T10:08:56.643 回答