jQuery Colorbox,iframe 内容在 iPad 中不滚动

2023-12-28

在 iPad 上查看时,Colorbox iframe 内容不会滚动,请阅读以下内容:

https://github.com/jackmoore/colorbox/issues/41#issuecomment-5244379 https://github.com/jackmoore/colorbox/issues/41#issuecomment-5244379

当从 Ipad 显示大于为颜色框设置的尺寸的网页时,滚动功能将被禁用和/或不存在。

有些人可能建议用一根手指或两根手指滚动,但这不起作用。

先决条件: 拥有一台 Ipad,或前往当地百思买

重现步骤: 去http://colorpowered.com/colorbox/core/example1/index.html http://colorpowered.com/colorbox/core/example1/index.html单击外部网页 (Iframe) 链接, 在 Google 搜索中输入一些内容

结果: 您无法滚动浏览结果。

有解决办法吗?有什么东西可以解决这个问题吗? 顺便说一句,这在 IE、Chrome 和 Firefox 上运行良好。

有人能解决这个问题吗???任何帮助将不胜感激。


更新 - 作者修复的问题

显然杰克有fixed https://github.com/jackmoore/colorbox/issues/41#issuecomment-13061816该问题截至今天(2013 年 2 月 4 日)。值得从他那里获取最新版本Github https://github.com/jackmoore/colorbox/ page.


以前的解决方案

好吧,我无法让 jScrollPane 正常工作。这并不是说您不会,但我还使用自定义调整大小来调整 iframe 的大小,并且我认为它与 jScrollPane 的尺寸计算配合得不好。

Solution

然而,由于更常见的 iOS iframe 滚动问题的解决方案,我确实设法让它工作,这要归功于Sharon 在 stackoverflow 上 https://stackoverflow.com/questions/5267996/how-to-properly-display-an-iframe-in-mobile-safari/5359546#5359546。我对她的代码做了一些调整,以便更好地使用 colorbox。请注意,这仅适用于您控制 iframe 内容的情况

只需将以下代码放入您的 iframe 中:

setTimeout(function () {
    var startY = 0;
    var startX = 0;
    var b = document.body;
    b.addEventListener('touchstart', function (event) {
        startY = event.targetTouches[0].screenY;
        startX = event.targetTouches[0].screenX;
    });
    b.addEventListener('touchmove', function (event) {
        event.preventDefault();
        var posy = event.targetTouches[0].screenY;
        var h = parent.document.getElementById("cboxLoadedContent");
        var sty = h.scrollTop;

        var posx = event.targetTouches[0].screenX;
        var stx = h.scrollLeft;
        h.scrollTop = sty - (posy - startY);
        h.scrollLeft = stx - (posx - startX);
        startY = posy;
        startX = posx;
    });
}, 1000);

滚动并不抖动,虽然你没有原生滚动的逐渐减慢,但当你抬起手指时它就会停止。另外,没有滚动条。除此之外,这是一个完美的解决方案。

The 莎伦解决方案页面 https://stackoverflow.com/questions/5267996/how-to-properly-display-an-iframe-in-mobile-safari/5359546#5359546提供了一种替代方案来尝试无法控制 iframe 的情况。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery Colorbox,iframe 内容在 iPad 中不滚动 的相关文章

  • 在页面加载时打开 Colorbox

    我一直在尝试使颜色框在页面加载时工作 但我只能看到带有纯背景的加载 我用了这个代码 fn colorbox id title open true 您可以在这里找到演示 http www bloggermint com demos popup
  • bootstrap:仅更改特定模态的模态背景不透明度

    我有一个包含多种模式的菜单 当我打开一个又一个时 背景会变成黑色 这很丑 我明白我需要改变filter alpha opacity 80 in modal backdrop fade in在 bootstrap css 中 但我需要更改它
  • Fancybox 包装器无法根据图像尺寸正确自动调整大小

    我在使用 FancyBox 时遇到问题 它应该根据图像的尺寸自动调整包装器的大小 它不是这样做的 具体来说就是太小了 这是我使用的 FancyBox jQuery 代码 a rel photo gallery fancybox type i
  • 为什么定义函数之前需要使用分号? [复制]

    这个问题在这里已经有答案了 我见过一些奇怪的 在一些 jQuery 插件源代码的函数开头 如下所示 function 有人可以解释为什么他们需要使用 在这种情况下 当文件中当前存在的代码不包含新代码时 此分号将帮助您正确地将新代码连接到文件
  • 在 AngularJS 中集成 jQuery 插件的正确方法

    我想知道将 jQuery 插件集成到我的 Angular 应用程序中的正确方法是什么 我找到了几个教程和截屏视频 但它们似乎适合特定的插件 例如 http amitgharat wordpress com 2013 02 03 an app
  • Jquery Datatable:makeEditable 不是函数错误

    这是我的代码 但它在 firebug 上出错说 updateTable dataTable bServerSide true sAjaxSource UpdateTS bProcessing true aoColumns sName ID
  • 使用 jQuery 绘制饼图

    我想用 JavaScript 创建一个饼图 在搜索中我发现了 Google Charts API 由于我们使用的是 jQuery 我发现有Google 图表的 jQuery 集成 http www maxb net scripts jgch
  • jQuery jPlayer 在 Safari 中首次运行后无法重播

    在 Firefox 3 6 13 中配置并运行 jPlayer 2 0 0 后 一切运行顺利 但相同的代码在 Safari 5 0 3 中无法运行 我正在做的是创建 jPlayer 监听 结束 事件以重新启动它 这是代码 document
  • Tipsy live 不适用于 jQuery 1.9.0

    我们最近将 jQuery 升级到了 1 9 0 但它破坏了我们的醉酒插件 它是live功能现在会导致错误 tooltip abbr tipsy live true TypeError this binder is not a functio
  • 为什么在 jQuery 插件中返回 this.each(function()) ?

    我见过的一些开发 jQuery 插件的教程和示例往往会返回 this each function Plugin code here 在实例化插件的函数末尾 但我还没有看到其背后的任何推理 它似乎只是每个人都遵循的标准 谁能告诉我这种做法背后
  • PDF jQuery Flip 书籍插件

    我已经上网几个小时了 有很多 jquery 翻页书插件可以使用 HTML 内容或图像 但我需要一个可以使用 PDF 加载翻页书页面的插件 而且它也必须在 IE 8 上运行 所以不能使用 HTML5 如果有人知道这样的插件请告诉我 我不想使用
  • jQuery:如何用逗号对一列数字求和?

    我使用了网上找到的以下功能 效果非常好 然而 当我的用户后来要求在数字中包含逗号时 它就崩溃了 它仅添加逗号前面的数字 这是函数 function sumOfColumns tableID columnIndex hasHeader var
  • 提交表单(jquery)并在彩盒中显示结果

    我有一个想要提交的表单 该表单正在发布到 php 脚本来处理表单数据 我需要做的是点击提交后有一个彩色框弹出窗口 其中包含 php 结果 这可以做到吗 这就是我一直在尝试的 buildForm click function buildFor
  • 用于从 PHP 更新实时
  • 的 jQuery 插件
  • 有没有任何 jQuery 插件可以创建类似实时 feed 的东西推特主页 http www twitter com 使用 PHP 它从 MySQL 数据库获取数据 PHP 文件必须如何 Thanks 您确实不需要为此使用插件 您可以使用 j
  • 如何使用 DataTables jquery 插件按日期排序?

    我正在使用 datatables jquery 插件并希望按日期排序 我知道他们有一个插件 但我找不到从哪里实际下载它 http datatables net plug ins sorting http datatables net plu
  • 关闭彩盒

    我有一个简单的弹出窗口 不是 Iframe 用户可以在其中互相发送邮件 有一个用于发送信息的提交按钮和一个用于关闭叠加层的取消按钮 我确实在关闭按钮工作时遇到了一些麻烦 代码如下所示
  • iframe可以弹出Lightbox风格的盒子吗?

    这个问题不是关于在 Lightbox 中弹出 iframe 的问题 而是关于在 Lightbox 中弹出 iframe 的问题 相反 它是关于页面上的 iframe 它可以在页面中启动自己的 Lightbox 样式框contains那个 i
  • jQuery醉酒:手动触发器和delayIn

    我正在使用 jQuery 的 Tipsy 插件 每当我尝试使用手动触发器和delayIn调用醉酒时 delayIn似乎不起作用 interest tipsy trigger manual gravity n html true delayI
  • jConfirm 警报 - jQuery 插件

    Am jConfirm 用于用户确认 我的第一个 jConfirm 不会因用户操作而停止 而是传递到下一个 My Code function UpdateJobHandler click function var JobHander get
  • Twitter bootstrap 远程模式每次都显示相同的内容

    我正在使用 Twitter bootstrap 我已经指定了一个模式 div class modal hide div class modal header div div

随机推荐