【问题标题】:How to disable scroll in Webview?如何在 Webview 中禁用滚动?
【发布时间】:2019-02-12 17:45:27
【问题描述】:

有没有办法可以在 webview 中禁用滚动?

例如

<WebView rc="https://www.npmjs.com/package/nativescript- 
openurl" height="300" tap="ontapvw"  ></WebView>

请找到随附的本机脚本游乐场链接:

https://play.nativescript.org/?template=play-js&id=hh7ITB&v=2

【问题讨论】:

  • 其他用户将您的问题标记为低质量和需要改进。我重新措辞/格式化您的输入,使其更容易阅读/理解。请查看我的更改以确保它们反映您的意图。但我认为你的问题仍然无法回答。 现在应该edit你的问题,添加缺失的细节(见minimal reproducible example)。如果您对我有其他问题或反馈,请随时给我留言。
  • 链接到外部站点以获取更多信息不是一个好方法。请尝试在您的问题中提供所有相关信息。
  • 您好,感谢您的帮助,会调查的,谢谢
  • 请注意:放弃一个问题然后走开也是非常糟糕的做法。人们给你反馈,你应该在附近做出反应。

标签: nativescript nativescript-telerik-ui


【解决方案1】:

您可以通过访问本机 WebView 并应用本机解决方案来禁用滚动(直接访问本机 API 是 nativeScript 的最大优势之一,因为这允许您使用本机解决方案)

Android 示例 XML

<WebView loaded="onWebViewLoaded" src="https://www.npmjs.com/package/nativescript-openurl" height="300" ></WebView>

JavaScript

function onWebViewLoaded(args) {
  let wv = args.object;
  console.log(wv);

  if(isAndroid) {
      let webViewAndroid = wv.nativeView;
      console.log(webViewAndroid);

      // Hide the scrollbars, but not disable scrolling:
      webViewAndroid.setVerticalScrollBarEnabled(false);
      webViewAndroid.setHorizontalScrollBarEnabled(false);

      // Disable scrolling
      let myListener = new android.view.View.OnTouchListener({
        onTouch: function (view, event) {
          return (event.getAction() == android.view.MotionEvent.ACTION_MOVE);
        }
      })

      webViewAndroid.setOnTouchListener(myListener);
  }

}
exports.onWebViewLoaded = onWebViewLoaded;

游乐场演示可以找到here

【讨论】:

  • 您需要先通过操作系统检查来解决此问题,然后再在 iOS 上执行适当的操作。
  • 嗨尼克,感谢代码运行良好.. 为延迟响应道歉
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-22
  • 2019-04-20
  • 2015-02-15
  • 1970-01-01
  • 2018-08-15
  • 1970-01-01
  • 2011-10-24
相关资源
最近更新 更多