【发布时间】:2010-06-24 18:28:50
【问题描述】:
我的一位同事为我们工作的公司维护了一个 Facebook 页面。
公司希望在他们的 Facebook 上放置一个小部件,以允许用户输入他们的电子邮件并订阅我们的时事通讯。
做facebook的同事不是程序员,所以他让我做点什么。
我制作了一个使用 jquery 和 ajax 的小页面,允许您输入您的电子邮件地址,并使用 ajax 将其发送到我们的服务器,因此您永远不会离开您所在的页面。
我们想使用 iframe 将此页面嵌入到 facebook。
一开始我们只是尝试进入iframe,没有成功,
然后我们找到了一个教程并尝试按照它所说的方式嵌入 iframe:
<a onClick="outside_location.setInnerFBML(link_1);" style="cursor: pointer;">Let's see that iframe....</a>
<div id="outside_location"></div>
<fb:js-string var="link_1">
<fb:iframe height="500" allowTransparency="true" frameborder="0" scrolling="no" style="width:100%; border:none" src="http://URL-TO-OUTSIDE-LOCATION"></fb:iframe>
</fb:js-string>
<script type="text/javascript" charset="utf-8">
var outside_location = document.getElementById('outside_location');
</script>
似乎 facebook 正在将东西附加到我们的变量中,所以 link_1 变成了 a325461252_link_1 之类的东西
然后我们得到一个像这样的 JS 错误:
未捕获的引用错误: a325461252_link_1 未定义
但每隔一段时间它会起作用,但 99% 的时间我们都会收到此错误。
我以前从未为 facebook 构建过任何东西,我不确定是否存在某种 facebook 做事方式。
我做错了什么吗?我做了很多谷歌搜索,试图找到答案,我发现的一切从“facebook 不允许 iframes”到“facebook 推荐 iframes”,所以我真的不知道该怎么想。
【问题讨论】:
-
如果需要,您可以使用他们的 ajax api 直接在 Facebook 页面上执行 ajax,或者您可以使用
fb:iframe标签嵌入任何 iframe 并在该 iframe 中执行所有操作。为什么要这么多额外的代码?