2010-03-05 4 views
0

Эй, ребята, я разработал небольшой сайт, который я бы хотел встроить в вкладку на странице facebook.Facebook IFrame на странице canvas?

Раньше я использовал этот код для загрузки в 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 в любом случае.

Я знаю, что приложения могут использовать iFrames, могу ли я сделать это приложение, а затем внедрить приложение на вкладку страницы?

ответ

1

№ Страницы вкладок не могут содержать iFrames. Они должны быть написаны с использованием FBML и FBJS.

Одна из причин этого заключается в том, что Facebook не хочет включать страницы вкладки, чтобы определить, кто их смотрит. По этой причине все запросы (включая изображения) на закладках проксируются через Facebook. Если бы iframes были разрешены, приложение могло бы определить, кто его посмотрел, что представляет проблему конфиденциальности для пользователей Facebook.

+0

Hrm okay. Как тогда приложения уходят от него? – wesbos

+0

Они этого не делают. Никакие страницы вкладок не могут содержать iframe. Если вам интересно иметь динамический контент на закладке, вы можете использовать FBJS (специальную версию javascript, которая изолирована песочницей) или использовать Flash. Если вы используете flash, пользователю сначала нужно щелкнуть флэш-приложение, прежде чем они смогут с ним взаимодействовать (по тем же причинам конфиденциальности, о которых я упомянул выше). – Gdeglin

+0

А, я понимаю. Какой маршрут использовали эти ребята: http://www.facebook.com/CarrotCreative#!/CarrotCreative?v=app_176990672178 – wesbos

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

+0

Ошибка в точности связана с Это было подтверждено вчера вчера платформой платформы Facebook: http://forum.developers.facebook.com/viewtopic.php?pid=209031#p209031. Сценарий, опубликованный Wes, является довольно известным решением, в котором fb: iframe загружается с использованием FBJS. Поскольку загрузка должна инициироваться действием пользователя (например, щелчком), это означает, что он не может использоваться для отслеживания пользователей. –

Смежные вопросы