navigator.share 打开一个较小的菜单

Posted

技术标签:

【中文标题】navigator.share 打开一个较小的菜单【英文标题】:navigator.share opens a smaller menu 【发布时间】:2020-11-25 14:58:36 【问题描述】:

我正在使用网络共享 API。 这是代码

navigator
  .share(
    title: document.title,
    text,
  )

当我点击按钮并调用上面的代码时,打开了较小的共享菜单, 但我想打开另一个完整的菜单。目前,较大的菜单是通过手动单击列表最后一个较小菜单中的more 按钮打开的

较小的-

更大的

【问题讨论】:

【参考方案1】:

由于您需要按更多...才能看到大菜单(分享方式);在没有用户参与的情况下,您无法使用 navigator.share API 做到这一点。

分享方式无法通过浏览器进行,但可以在移动应用程序 (android/ios) 中进行。

同样,navigator.share 只需调用 Android/iOS 中的本地共享,然后 traget 系统处理其余的!这个功能有一些安全问题你可以看到它抛出w3.org

https://www.w3.org/TR/web-share/#dom-navigator-share

最后如果想通过特定应用分享你可以使用deeplinking。

【讨论】:

【参考方案2】:

看看这个

if (navigator.canShare && navigator.canShare( files: filesArray )) 
  navigator.share(
    files: filesArray,
    title: 'Pictures',
    text: 'Our Pictures.',
  )
  .then(() => console.log('Share was successful.'))
  .catch((error) => console.log('Sharing failed', error));
 else 
  console.log(`Your system doesn't support sharing files.`);

【讨论】:

我没有共享任何文件。但是我也尝试过传递文件,但是没有用。

以上是关于navigator.share 打开一个较小的菜单的主要内容,如果未能解决你的问题,请参考以下文章

在折叠移动显示所有引导子菜单为打开

navigator.share 文件在 iOS 14 Safari 上不起作用

在较小的屏幕尺寸上,在 HTML 画布上呈现的图像质量很差

Select2 适用于宽度较小的@Html.DropDownList Jquery UI 对话框?

Navigator.share 仅在 iOS 中工作一次,第二次单击会引发错误“用户代理不允许请求...”

使用 java 中的 OLE 自动化将 word 文件拆分为多个较小的 word 文件