Скроллбары для приложения iframe на Facebook в Chrome - PullRequest
3 голосов
/ 03 февраля 2012

Это наверняка было рассмотрено бесчисленное количество раз, но я не могу найти рабочее решение.

как избавиться от полос прокрутки в приложении iframe для Facebook в Chrome. И IE, и Firefox в порядке.

Использование предложенного CSS-переполнения: скрытое, просто обрезает содержимое, если его высота превышает 800 пикселей.

Даже в фрейм-приложении Facebook Coca Cola обрезано содержимое !! посмотреть здесь http://www.facebook.com/cocacola?sk=app_161193133389

это то же самое, что происходит с моим приложением в Chrome (v. 16.0.912.77 m)

Ответы [ 5 ]

2 голосов
/ 03 февраля 2012

добавьте это в fb js вашего холст-приложения:

FB.Canvas.setSize({ width: 520, height: X });

где X - высота, которую вы хотите.

Если ваше приложение жидкое, используйте:

FB.Canvas.setAutoGrow();
1 голос
/ 17 июня 2012

У меня была похожая проблема: после добавления FB JS SDK и

FB.Canvas.setAutoGrow ();

я должен был установить

корпус {} * +1010 *

в css, чтобы полосы прокрутки не отображались в chrome. В моем случае это была прокладка.

body{
    overflow: hidden;
    margin: 0px;
    padding: 0px;
}
1 голос
/ 17 июня 2012

Я бы тоже попытался установить размер с задержкой и немного поэкспериментировать с ним:

window.setTimeout("FB.Canvas.setSize({ width: 520, height: 1111 })", 2000);

Также не забудьте инициализировать Facebook с идентификатором вашего приложения (FB.init) до вызова FB.Canvas.setSize или FB.Canvas.setAutoGrow.

0 голосов
/ 18 июня 2012

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

  1. Если вы еще этого не сделали, попробуйте добавить: body{overflow:hidden;}

  2. У вас также может быть отключен JavaScript.

  3. В качестве альтернативы, вы можете установить фиксированную высоту для приложения очень высоко в настройках приложения, где указано: исправлено [] .Также убедитесь, что в настройках вашего приложения выбрано фиксированное значение.

  4. Если это происходит в других приложениях, в том числе на той странице CocaCola, о которой вы упоминали, то это может быть браузер.Попробуйте обновить.Я использую Chrome 19.0.1084.56 и у меня нет проблем (кроме меня высота всегда увеличивается до 1200px максимальная высота).

  5. Также посмотрите здесь: ' Выбор между полосой прокрутки iframe Facebook или страницей, отрезанной наполовину ', где есть решение, которое вы можете попробовать.

  6. Редактировать: Такжесмотрите здесь: ' Высота страницы приложения на временной шкале застряла на 800px '.

Редактировать: После некоторого просмотра области ошибок FacebookFacebook сказал, что это не ошибка на конце Facebook, поэтому проблема в вашем коде.(Источник: 'https://developers.facebook.com/bugs/360687100649759')

Если это не сработает, прокомментируйте и скажите, и я проведу дальнейшее исследование.

0 голосов
/ 14 июня 2012

Вы должны сделать несколько настроек вашего приложения. Сначала добавьте следующий код на свою страницу:

FB.Canvas.setAutoGrow();, чтобы указать Facebook SDK изменить размер iframe, если содержимое длиннее.

Добавить overflow: hidden к <html> или <body> CSS

Проверьте настройки своего приложения и убедитесь, что для параметра «Ширина холста» установлено значение «жидкость», а для высоты холста - «фиксированный» (выберите «Настройки»> «Дополнительно»> «Прокрутить до параметров холста»).

Все эти вещи должны исправить полосы прокрутки. Если это не так, используйте что-то вроде «Проверить элемент» в Chrome, чтобы увидеть, не вызывает ли что-то появление полос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...