【问题标题】:PhoneGap/Cordova: cannot prevent scrollingPhoneGap/Cordova:无法阻止滚动
【发布时间】:2018-03-05 23:25:06
【问题描述】:

我已尽一切可能阻止在我的 PhoneGap (Cordova) 应用程序中滚动,但我无法阻止它。这是我尝试过的:

config.xml

<preference name="UIWebViewBounce" value="false" />
<preference name="DisallowOverscroll" value="true" />

index.html

<meta http-equiv="Content-Security-Policy" content="default-src * 'self' 'unsafe-inline' gap:; style-src * 'self' 'unsafe-inline'; script-src * 'self' 'unsafe-inline' 'unsafe-eval'; frame-src *">

...

<style>
    html, body {
        margin: 0px;
        padding: 0px;
        overflow: hidden;
    }
</style>

index.js

function ready () {
    document.body.addEventListener ("touchmove", function (e) {
        e.preventDefault ();
    }, false);
}

document.addEventListener ("deviceready", ready, false);

实际上没有任何工作。有什么想法为什么不呢?谢谢!

【问题讨论】:

  • 您是在编译应用还是在使用 Phonegap Developer 应用?
  • @jcesarmobile 我正在使用phonegap build android 从PhoneGap CLI 编译。

标签: javascript html css cordova phonegap


【解决方案1】:

我将我的应用程序放在一个 div 中,并提供了这些规则来防止滚动。不知道为什么将规则应用于&lt;body&gt; 不起作用。 (在 Cordova,但我相信这适用于 PhoneGap)

.app {
position:absolute;
left:0px;
top:0px;
text-align:center;
height: 100%;
width: 100%;
overflow: hidden; }

【讨论】:

  • 这是不久前的事情,所以我当时通过使用iframe 解决了它(不是一个理想的解决方案)。我不知道你的建议是否可行,所以我不会接受答案,但我会投赞成票。谢谢!
  • 是的,我在几个月前就看到了,我刚刚发现了这个问题,同时遇到了同样的问题,所以我的解决方案出现在 :)
【解决方案2】:

试试这个:

element.ontouchmove = (event) => {
    event.preventDefault();
}

【讨论】:

  • 如果您查看我的问题的最后一部分,我实际上已经在 document.body 上这样做了。
猜你喜欢
  • 2023-04-01
  • 2015-03-03
  • 2018-09-05
  • 1970-01-01
  • 1970-01-01
  • 2016-02-19
  • 2012-09-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多