HarmonyOS web组件中的图片如何禁用长按拖动

需要屏蔽掉web组件内的图片的长按拖动效果。原生的Image组件有draggable属性设置,但是web加载的页面内容的图片不知道如何屏蔽长按图片拖动效果。

HarmonyOS
2025-01-09 17:46:21
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

参考:

import { webview } from '@kit.ArkWeb';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct WebComponent {
  controller: webview.WebviewController = new webview.WebviewController();
  build() {
    Column() {
      Web({ src: $rawfile('imageTemp.html'), controller: this.controller })
        .javaScriptAccess(true)
        .domStorageAccess(false)
        .zoomAccess(false)
        .onPageEnd(e => {
          if (e) {
            console.info('tag:url: ', e.url);
          }
          try {
            this.controller.runJavaScript(
              '     var images = document.getElementsByTagName(\'img\');  \n' +
                '  \n' +
                '    // 遍历所有img元素  \n' +
                '    for (var i = 0; i < images.length; i++) {  \n' +
                '        // 设置每个img元素的draggable属性为false  \n' +
                '        images[i].draggable = false;  \n' +
                '    }  ' ,
              (error, result) => {
                if (error) {
                  console.error(`run JavaScript error, ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
                  return;
                }
                if (result) {
                  console.info(`tag: The test() return value is: ${result}`);
                }
              });
          } catch (error) {
            console.error(`ErrorCode: ${(error as BusinessError).code},  Message: ${(error as BusinessError).message}`);
          }
        })
    }
  }
}
分享
微博
QQ
微信
回复
2025-01-09 19:35:26
相关问题
HarmonyOS 如何禁用image长按
732浏览 • 1回复 待解决
Web组件下网页图片长按出现蒙层
1148浏览 • 1回复 待解决
Image长按拖动如何关闭
2668浏览 • 1回复 待解决
HarmonyOS Grid拖动排序和长按冲突
1023浏览 • 2回复 待解决
H5图片Web组件显示异常
679浏览 • 1回复 待解决
HarmonyOS ArkUI如何动态禁用组件
532浏览 • 1回复 待解决