2010-03-05 49 views
0

嘿,伙计们,我开发了一个小型网站,我想嵌入Facebook页面上的标签。页面画布上的Facebook IFrame?

以前我用这个代码的iframe中加载,这真是棒极了:

 <a onClick="outside_location.setInnerFBML(link_1);" style="cursor: pointer;">Link 1</a> | <a class="red" onClick="outside_location.setInnerFBML(link_2);" style="cursor: pointer;">Link 2</a> 

    <div id="outside_location"></div> 
    <fb:js-string var="link_1"><fb:iframe width="760" height="1280" frameborder='0' src='http://www.WebWhispers.in' /></fb:js-string> 
    <fb:js-string var="link_2"><fb:iframe width="760" height="1280" frameborder='0' src='http://google.com/' /></fb:js-string> 

    <script type="text/javascript" charset="utf-8"> 
    var outside_location = d 

document.getElementById('outside_location'); 
</script> 

然而,它已停止工作。我不认为Facebook允许iframe内页,只有应用程序。

我怎样才能在加载这个页面,而无需学习FBML?该网站使用JQuery,所以我无法使用FBML。

我知道应用程序可以使用iframe,我可以把它的应用程序,然后嵌入应用到网页标签不知何故?

回答

1

编号标签页不能包含iFrames。它们必须使用FBML和FBJS编写。此

一个原因是,Facebook并不希望启用Tab页检测谁在他们看。由于这个原因,标签页上的所有请求(包括图像)都是通过Facebook代理的。如果iframe被允许,那么应用程序将能够检测谁在看它,这会给Facebook用户带来隐私问题。

+0

Hm没关系。那么应用程序如何摆脱它呢? – wesbos 2010-03-05 04:25:40

+0

他们没有。没有标签页可以包含iframe。 如果您对标签页上的动态内容感兴趣,您可以使用FBJS(沙盒版的JavaScript特殊版本)或使用Flash。如果您使用Flash,用户将首先必须点击Flash应用程序才能与之交互(出于前面提到的相同隐私原因)。 – Gdeglin 2010-03-05 05:00:24

+0

啊,我明白了。没有这些人用什么途径: http://www.facebook.com/CarrotCreative#!/CarrotCreative?v=app_176990672178 – wesbos 2010-03-05 05:23:42

0

这是无论是Facebook或者,更可能的是,一个错误的策略变化。我说这不太可能是一个政策改变,因为它引发了一个脚本错误,而一个策略更改将更有可能在代码呈现之前剥离代码。

a bug report you can add votes to and follow here

+0

该错误与此无关。 这不是一个错误。关于fb:iframe的文档特别说明它不能在页面上使用。 http://wiki.developers.facebook.com/index.php/Fb:iframe “您无法在配置文件页面(即应用程序选项卡和配置文件框)上使用标记” – Gdeglin 2010-03-05 22:48:12

+0

该错误与并且昨天由Facebook平台团队证实了这一点:http://forum.developers.facebook.com/viewtopic.php?pid=209031#p209031。 Wes发布的脚本是一个非常有名的解决方法,即使用FBJS加载fb:iframe。由于加载需要由用户操作(例如点击)触发,这意味着它不能用于用户跟踪。 – 2010-03-06 10:05:19