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

标签 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');
}

当我加载我的粉丝页面中的选项卡时,它显示错误“不允许外部脚本”,而当我加载 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/

相关文章:

java - 在 java 类中包含自动生成的方法

javascript - 如何实现 svg 行的渐进式动画

android - 通过单点登录验证后移动到 Facebook 应用程序页面

java - Facebook Graph Java HttpsURLConnection 返回错误 400

ios - Facebook 登录和支付服务的建议

javascript - 为所有内容添加一个外部 js 文件?

dll - 如何在共享库中动态调用函数?

javascript 循环推送

javascript - 是否可以读取 JavaScript 全局/内置对象方法(即 array.filter、.sort)的代码?

javascript - 具有大型动态表单的主干js