Navigator:canShare() 方法
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Navigator
接口的
canShare()
方法在对
navigator.share()
的等效调用能够成功时返回
true
。
如果数据无法
通过验证
,该方法将返回
false
。数据可能无效的原因包括:
data
参数已被省略或仅包含具有未知值的属性。请注意,用户代理无法识别的任何属性都会被忽略。
Web 共享 API
受
web-share
权限策略限制。如果支持该权限但尚未授予,则
canShare()
方法将返回
false
。
语法
返回值
如果指定的
data
参数可以等效成功调用
Navigator.share()
方法,则返回
true
,否则返回
false
。
示例
发送 MDN URL
该示例使用
navigator.canShare()
来检查
navigator.share()
是否可以共享指定的数据。
HTML 部分只是创建一个段落来显示测试结果。
html
<p class="result"></p>
JavaScript
jslet shareData = {
title: "MDN",
text: "在 MDN 上学习 Web 开发!",
url: "https://developer.mozilla.org",
const resultPara = document.querySelector(".result");
if (!navigator.canShare) {
resultPara.textContent = "不支持 navigator.canShare()。";
} else if (navigator.canShare(shareData)) {
resultPara.textContent =
"支持 navigator.canShare()。我们可以使用 navigator.share() 来发送数据。";
} else {
resultPara.textContent = "指定的数据无法共享。";
下面的框应说明该浏览器是否支持 navigator.canShare(),如果支持,我们是否可以使用 navigator.share() 来共享指定的数据: