【问题标题】:Facebook always shows scrollbars around Flash applicationsFacebook 总是在 Flash 应用程序周围显示滚动条
【发布时间】:2012-01-03 21:53:45
【问题描述】:

由于某种原因,滚动条总是显示在我的应用程序中的 Flash 播放器周围。请查看下面我的一个页面,其中包含显示 Flash 播放器的应用程序,我已尽我所能删除它周围的滚动条;

http://www.facebook.com/trubeats?sk=app_79482449955

我已经在 Mac 和 Windows 中尝试过 - Safari、IE、Firefox 和 Chrome,但它们都没有显示滚动条。如果您的浏览器中没有显示滚动条,您可以看到下图。我只是不明白,网上有几个人遇到了同样的问题,但他们的解决方案对我不起作用。有人知道吗?

更新

画布图片

【问题讨论】:

  • 这意味着应用程序太大但它也发生在画布中(参见更新的屏幕截图) - 我过去从未遇到过问题,它只是最近才开始发生,并且没有改变任何尺寸,FB 添加的 Flash 应用程序周围的 iframe 添加了滚动条,似乎没有办法控制它。

标签: facebook iframe fbml


【解决方案1】:

大多数情况下,我可以通过将其添加到正文标签来终止滚动条:

<body onload="FB.Canvas.setSize();">

而且我通常会更进一步并这样做,以便在 iFrame 中单击链接时,将滚动重置为顶部:

<body onload="FB.Canvas.setSize(); FB.Canvas.scrollTo(0,0);">

只需 2 美分,不保证。祝你好运。

【讨论】:

  • 还有助于确保主要内容不大于 520px,可能在 css 中明确设置。
  • 感谢您的帮助,但这不起作用,因为 fb 不允许使用 body 标签 - 这是我收到的错误 FBML Error (line 71): illegal tag "body" under "fb:canvas"
  • 哦...我认为 fbml 应用程序已被弃用。我一直在做 iframe 应用程序。呃,好吧。祝你好运!
【解决方案2】:

尝试像这样设置你的CSS

html,body {
  width:520px;
  overflow:hidden;
  margin: 0;
  padding: 0;
  border:0;
}

并使用 FB.Canvas.setAutoGrow();

【讨论】:

  • 我应该把 FB.Canvas.setAutoGrow(); 放在哪里?
【解决方案3】:

页面选项卡画布宽度为 520 像素宽,您的 flash 包裹在 div 中,宽度为 525 像素。这会导致显示水平滚动。

同样的div 也有 398 像素的高度,但嵌入的 Flash 显示在 iframe 中,内容高度为 402 像素。这会导致垂直滚动。

【讨论】:

  • 感谢您的帮助,但它不仅仅发生在我的选项卡中,它发生在有足够空间的画布中(请参阅上面的更新帖子以及我的画布截图)。 FB 已经开始将 Flash 应用程序包装在 iFrame 中,而这个 iFrame 是导致问题的原因,因为您无法控制它!添加滚动条的是 iFrame,但似乎没有办法控制它的溢出 CSS。还有其他想法吗?
【解决方案4】:

凯文,你真是个天才!这对我来说非常有效。也许最好将高度设置为“1”,然后使用 FB.Canvas.setAutoGrow() 自动增加高度以适应内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-21
    • 1970-01-01
    • 2017-07-20
    • 2019-07-31
    • 1970-01-01
    • 2021-12-05
    相关资源
    最近更新 更多