更改iframe src会中断Android Phonegap应用程序中的滚动

更改iframe src会中断Android Phonegap应用程序中的滚动,android,iframe,cordova,Android,Iframe,Cordova,我这里有一个关于android中Phonegap应用程序的有趣bug。我首先注意到,在模拟器中,或者在某些特定设备上,滚动不起作用(在我的手机上,即平台2.3上,滚动确实起作用),并尝试了所有建议,以解决这个问题,包括在这里的多个建议;1,本机端修复;2,添加iScroll库。然而,所有的解决方案都不起作用。此外,不可用的滚动仅影响特定页面,而不影响整个应用程序 我已经将问题缩小到这一行代码,它替换了iframe的src属性。它旨在显示通过外部内容api获取url的youtube视频的缩略图 $

我这里有一个关于android中Phonegap应用程序的有趣bug。我首先注意到,在模拟器中,或者在某些特定设备上,滚动不起作用(在我的手机上,即平台2.3上,滚动确实起作用),并尝试了所有建议,以解决这个问题,包括在这里的多个建议;1,本机端修复;2,添加iScroll库。然而,所有的解决方案都不起作用。此外,不可用的滚动仅影响特定页面,而不影响整个应用程序

我已经将问题缩小到这一行代码,它替换了iframe的src属性。它旨在显示通过外部内容api获取url的youtube视频的缩略图

$('#video').attr('src', newUrl);
以及iFrame标记

<iframe class="youtube-player" id="video" type="text/html" src="js/views/loading.html" frameborder="0"></iframe>

我尝试过在标记中对url进行编码,效果很好,这是关于替换iframe的源代码的行为,它破坏了页面滚动

我在唱Phonegap/Cordova 1.8.1,android平台的最低目标是2.2

提前感谢您的帮助


*编辑:似乎与视口有关,因为删除标记会停止任何破坏滚动的操作。

我使用PhoneGap创建的Android应用程序也有类似问题。我遇到的问题是,随着iframe中数据的更改,可滚动的空间量也会更改,因此有些页面会滚动得太远,有些页面会滚动得不够

为了解决这个问题,在加载内容时,您必须使用一些JavaScript根据iframe的内容调整iframe的高度

我从这个问题中找到了答案:

这个问题的答案建议使用iframe上的onload属性调用一个javascript函数,该函数调整iframe的高度以匹配内容

javascript本身如下所示:其中obj是传递到函数中的iframe元素

function resizeIFrame(obj){
     obj.style.height = obj.contentWindow.document.body.offsetHeight + "px";
}

现在,只要iframe的来源发生变化,它就会根据该内容调整高度,并解决您的滚动问题。

删除什么标记可以解决问题?我自己似乎也有一些与iframe相关的问题。我在iPad上,这很奇怪。双指卷轴算是不错,但不太好。我试图在iframe中显示一个文件,比如PDF。你有没有让它工作过?