Код высоты iFrame не работает - PullRequest
       41

Код высоты iFrame не работает

0 голосов
/ 26 октября 2011

Я пытаюсь настроить высоту страницы iFrame в соответствии с содержимым страницы. В настройках приложения я установил следующее:

Ширина холста: фиксированный (760px) Высота холста: устанавливается (по умолчанию: 800px) Social Discovery: включено

И вот код для моего файла index.html:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0              
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html 
xmlns="http://www.w3.org/1999/xhtml"><head><title></title><meta http-equiv="refresh" 
content="0;url= Merchandise.html" />
<script type="text/javascript">
window.fbAsyncInit = function() {
FB.Canvas.setSize();}
function sizeChangeCallback() {
FB.Canvas.setSize();}
</script></head><body><div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
FB.init({ 
appId : 'XXXXXXXXX',
status : true, 
cookie : true, 
xfbml : true 
});
</script></body></html>

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

Удален мета-тег обновления, отредактирован код, теперь выглядит так:

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0     
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html 
xmlns="http://www.w3.org/1999/xhtml"><head><title></title><content="0;url=   
Merchandise.html" />
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type='text/javascript'>
window.onload=function() {
  FB.Canvas.setSize({width:760,height:document.body.offsetHeight});
}
</script></head><body>
</body></html>

Все еще не повезло

1 Ответ

0 голосов
/ 27 октября 2011

На самом деле вам не нужно вызывать FB.init (), если вы не делаете что-то еще с javascript SDK. Попробуйте избавиться от всех блоков <script>, которые у вас есть, и поместите только этот код в <head>:

<script src="http://connect.facebook.net/en_US/all.js"></script>
<script type='text/javascript'>
window.onload=function() {
  FB.Canvas.setSize({width:760,height:document.body.offsetHeight});
}
</script>

Но также, что с мета-тегом обновления в заголовке?

Для вкладки страницы измените вызов setSize () следующим образом:

FB.Canvas.setSize({width:520,height:document.body.offsetHeight+20});

Также убедитесь, что на вашей странице нет элементов шире, чем 760px / 520px, в противном случае появится горизонтальная полоса прокрутки, которая часто также отображает вертикальную.

...