2011-01-11 3 views
3

Я работаю над приложением iFrame для Facebook и задаюсь вопросом о стилизации.Facebook приложение iFrame с использованием таблицы стиля Facebook

Я хочу, чтобы содержимое приложения выглядело как остальная часть facebook. Таким образом, наиболее очевидным подходом, о котором я мог думать, было использование таблицы стилей, предоставляемой Facebook для разработки приложений, которая включает такие стили. Однако я не могу найти ничего об этом на developers.facebook.com или на любом другом сайте.

Я создал некоторое приложение FBML ранее, и они смогли напрямую использовать стили Facebook, так как контент приложения был изменен на страницах facebook. Но iframes не наследует таблицу стилей из родительского контента (и не должен), поэтому мне было интересно, как (или, возможно, если) это можно сделать.

Я нашел несколько сообщений/блогов, которые просто говорят вам создать таблицу стилей приложений, имитирующую вид Facebook. Но я не думаю, что это очень хорошая идея, так как этот CSS должен обновляться каждый раз, когда что-то меняется на Facebook. Также кажется, что все страницы wiki facebook относительно CSS (которые я использовал ранее) были удалены.

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

http://developers.facebook.com/docs/reference/fbml/

Я действительно надеюсь, что кто-то имеет какие-либо хорошие идеи по этому поводу.

ответ

1

Нет официального пути. По какой-то причине, FB чередует свои стили в нелепой степени. Они также изменяют имя файла, а не добавляют параметр версии каждый раз, когда они вносят изменения, чтобы предотвратить последующее кеширование. Вот пример сегодняшних стилей:

http://static.ak.fbcdn.net/rsrc.php/y-/r/40PDtAkbl8D.css 
http://b.static.ak.fbcdn.net/rsrc.php/yE/r/u7RMVVYiOcY.css 
http://static.ak.fbcdn.net/rsrc.php/yT/r/P-HsvhlyVjJ.css 
http://static.ak.fbcdn.net/rsrc.php/yT/r/CFyyRO05F0N.css 
http://static.ak.fbcdn.net/rsrc.php/y0/r/k00rCIzSCMA.css 
http://b.static.ak.fbcdn.net/rsrc.php/yv/r/BJI6bizfXHL.css 
http://b.static.ak.fbcdn.net/rsrc.php/yD/r/rmbhh_xQwEk.css 
http://b.static.ak.fbcdn.net/rsrc.php/yn/r/xlsrXFt9-vD.css 
http://b.static.ak.fbcdn.net/rsrc.php/yN/r/Uuokrl6Xv3c.css 
http://b.static.ak.fbcdn.net/rsrc.php/y0/r/klTGALEjWM8.css 
http://b.static.ak.fbcdn.net/rsrc.php/yN/r/mlYhlJwnCdr.css 
http://b.static.ak.fbcdn.net/rsrc.php/yT/r/uFI2FW2LitH.css 
http://b.static.ak.fbcdn.net/rsrc.php/yh/r/5Bzj1255G1S.css 
http://b.static.ak.fbcdn.net/rsrc.php/yp/r/5UteuBI1b8_.css 

Вы можете автоматизировать этот процесс довольно легко, используя либо PHP или .NET, используя существующие решения Minify и Combiner соответственно.

Простейшим методом было бы использовать панель инструментов веб-разработчика для Firefox, перейти на Facebook и выбрать опцию панели инструментов веб-разработчика, чтобы «просмотреть CSS», которая свяжет все CSS для вас. Скопируйте и вставьте его в свою собственную таблицу стилей, и вам нужно только обновить, когда Facebook внесет существенные изменения.

Так что, хотя нет простого способа (что я знаю), есть способы, чтобы вы позаботились об этом довольно быстро.

+0

Мне кажется, что эти ссылки меняются каждый раз, когда я удаляю сеанс и снова регистрируется. Попробуйте сами, используя панель инструментов разработчика, и используйте Cookies-> Delete Session Cookies. Затем войдите снова, и при использовании View CSS вы увидите полный набор ссылок на CSS. –

+0

Ссылки меняются, но общие стили не меняются резко. Я думаю, что довольно безопасно предположить, что соскабливание всех стилей периодически давало ему желаемые результаты. – S16

+0

Ну, ты, наверное, прав. Однако это не совсем чистое и аккуратное решение, на которое я надеялся. Я действительно надеюсь, что Facebook изменит это в будущем и сделает более разумным решение. –