我正在尝试创建一个小型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作为相对路径,但它出错了相同的错误 - “不能允许外部脚本”。我不能使用外部脚本的相对路径吗?
答案 0 :(得分:1)
它必然与application tabs的具体行为有关。
应用程序标签略有不同 不同于画布页面。当一个 用户首先进入选项卡,它位于 被动模式。这意味着申请 无法自动播放Flash或onload JavaScript的。一旦用户与之交互 选项卡 - 就像单击Flash一样 对象,页面变得活跃,所以它 可以玩Flash,执行JavaScript, 等等。
对于应用程序选项卡,它需要嵌入FBML而不是外部资源。
答案 1 :(得分:0)
这不是问题吗? http://developers.facebook.com/docs/fbjs
“允许开发人员在其域中嵌入JavaScript的大多数提供商都强迫开发人员使用IFrame来对其代码进行沙箱化.Facebook采用了不同的方法来处理这个问题。您提供给我们的JavaScript会被解析,任何标识符(函数和变量)名称)以您的应用程序ID为前缀。“