我正在尝试创建一个小型 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');
}
当我加载我的粉丝页面中的选项卡时,它显示错误“不允许外部脚本”,而当我加载 Canvas url 时 [ http://apps.facebook.com/...]直接点击按钮,它会工作[显示对话框]。
脚本包含是否仅适用于 Canvas 而不适用于个人资料页面?
我还有一个问题 最初我将脚本 src 作为相对路径,但它因相同的错误而出错 - “不允许外部脚本”。我不能为外部脚本使用相对路径吗?
最佳答案
这必然与application tabs的具体行为有关.
Application tabs are slightly different than canvas pages. When a user first goes to a tab, it is in passive mode. This means applications cannot autoplay Flash or onload JavaScript. Once user interacts with the tab – like clicking the Flash object, the page becomes active, so it can play Flash, execute JavaScript, and so forth.
看起来像应用程序选项卡,它需要嵌入到 FBML 而不是外部资源中。
关于javascript - FBML 中的外部 JS 使用 - 无法访问外部脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2725962/