【问题标题】:Disable bounce/scroll on embedded vimeo-player在嵌入式 vimeo 播放器上禁用弹跳/滚动
【发布时间】:2014-02-19 11:20:34
【问题描述】:

touch + 上移时,webview 弹跳(底部的白色区域显示)(关闭按钮不受影响,因为它不在 webview 中)

在 web 视图中打开嵌入式 Vimeo 播放器时,我在禁用弹跳/滚动时遇到问题。播放器嵌入在 iframe 中 - 这使其成为 iframe 中的 iframe。

我已成功禁用 webview 和第一个 iframe 的滚动和弹跳,我使用此本机代码

for (id subview in webView.subviews)
    if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {

        ((UIScrollView *)subview).bounces = NO;

        [[subview scrollView] setScrollEnabled: NO];


    }

对于第一个 webview 和 iframe,我使用 javascript

addLoadEvent(function () {
  document.ontouchmove = function(e){ e.preventDefault(); }

问题这适用于 webview 和第一个 iframe,但不适用于嵌入式 vimeo iframe。

【问题讨论】:

    标签: ios iframe webview bounce vimeo-player


    【解决方案1】:

    包含这可能会起作用。

    webview.setHorizontalScrollBarEnabled(false);
    webview.setVerticalScrollBarEnabled(false);
    

    此外,由于视频位于框架内且框架位于 Webview 内,因此视频框架是框架的子视图,而不是 Web 视图。您应该尝试在框架中搜索类并禁用滚动。 :D

    【讨论】:

    • 感谢您的回复!你的意思是webView.scrollView?不工作。我在尝试迭代时发现 webView 缺少子视图。所以我想我必须在其他级别上做这件事?如何访问 vimeo iframe 的属性?
    • 如果您只是将在线视频加载到 iframe 中,您将无法访问它,因为设置是由视频服务器设置的(本例为 Vimeo)......如果您下载然后加载或加载本地视频然后只需为 webview 设置这两行(为您滚动视图),它应该可以工作....以及子视图.....
    • 不,我不能下载视频,它们必须流式传输。也许有一些本地方法可以将 touchmove javascript 代码注入 iframe?我猜跨域规则会阻止我使用容器文档中的 javascript 执行此操作。
    • 是的,跨域规则会阻止它(Vimeo 也可能不会启用它)...你能发个截图吗.. 看看我能不能帮忙...
    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2011-01-12
    • 1970-01-01
    • 2013-04-06
    • 2011-05-31
    • 2014-01-24
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多