【问题标题】:Can I share a file with Web Share API on Safari我可以在 Safari 上使用 Web Share API 共享文件吗
【发布时间】:2020-06-03 17:57:10
【问题描述】:

我正在尝试使用以下代码与 Web Share API Level 2 共享文件:

var file = new File(["foo"], "foo.txt", {
    type: "text/plain",
});

window.navigator.share({
    text: "Share text",
    title: "Share title",
    files: [file]
})

很遗憾,文件未与 iPhone 共享,但在 Android 上已成功共享。

有什么解决办法吗?

提前致谢。

【问题讨论】:

  • 忘了在 iOS 上分享分享,但只有 text 分享。文件已跳过...
  • 谁能确认 iOS 14 是否允许文件?不仅仅是文字
  • 确认 iOS 14.4 仍然不共享文件。 (在 Safari 和 Chrome 上都试过。经过验证的同一网站可在 Android 上运行)
  • 感谢@OdedBenDov 更新此内容!
  • 嗨。我现在可以进行文件共享。但在 Whatsapp + iOS 上,它仅在文本和标题内容为空时才有效(仅发送文件)。

标签: javascript web safari mobile-safari navigator


【解决方案1】:

我的文件共享工作正常。但在 Whatsapp + iOS 上,它仅在文本和标题内容为空时才有效(仅发送文件)。

  let data = {};
  if (files.length > 0) {
    data.files = files;
  }
  if (title !== '')
    data.title = title;
  if (text !== '')
    data.text = text;
  if (url !== '')
    data.url = url;

  error.textContent = '';
  navigator.share(data)
    .then(() => {
  })
    .catch((err) => {
    console.log('Unsuccessful share');
    error.textContent = 'Share failed: ' + err.message;
  });

https://jsfiddle.net/2q36fhb9/1/

【讨论】:

  • 对不起,这不是我需要的,我必须分享一切
  • 我在 Iphone 13、15.3 IOS 上进行了测试。文件共享也适用于 WhatsApp,Telegram。我认为这提供了一些用例
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-20
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 2019-07-13
相关资源
最近更新 更多