【发布时间】:2015-06-02 15:22:11
【问题描述】:
编辑 - 以前的标题
OneDrive Web 选择器 SDK (Javascript) 无法在移动设备上选择/打开文件 设备
来自 SO 的自动电子邮件建议我在赏金期到期时更改标题。
我根据这些说明https://dev.onedrive.com/sdk/javascript-picker-saver.htm 在移动友好网站中创建了一个 OneDrive 选择器,它在 Windows 桌面上运行良好。
但是在移动浏览器(Android 4.2 上的 Android 浏览器和 Chrome,以及 iOS 7 上的 Safari)上,选择器启动并让我登录 OK,我可以看到文件,但是当我点击选择文件时,“打开”按钮保持禁用状态。
编辑,只是为了澄清:我不想将文件上传到 OneDrive。我想选择我的 OneDrive 帐户中已有的文件并将其 URL 传递回页面。这样我就可以将该 URL 发送到我的服务器并让服务器获取文件
如果我长按我选择的文件,则会出现一个内容(我的意思是像 Windows 中的右键菜单)菜单,并带有“打开”选项 - 选择此选项似乎会使 Onedrive 重新加载。
我的代码是:
<script type="text/javascript" src="https://js.live.net/v5.0/OneDrive.js" id="onedrive-js" client-id="0000000011111111"></script>
<script type="text/javascript">
var pickerOptions = {
success: function(files) {
console.log(files);
document.getElementById("cloud_cv_source_input").value = "onedrive" ;
document.getElementById("cloud_cv_file_url_input").value = files.values[0].link ;
document.getElementById("cloud_cv_file_name_input").value = files.values[0].fileName;
document.getElementById("cloud_cv_file_size_input").value = files.values[0].size;
},
cancel: function() {
// handle when the user cancels picking a file
},
linkType: "downloadLink", // or "downloadLink",
multiSelect: false // or true
}
function launchOneDrive()
{
OneDrive.open(pickerOptions);
}
</script>
我确实在文档末尾看到了这一点:
The OneDrive picker and saver supports the following web browsers:
Internet Explorer 9+
Latest version of Chrome
Latest version of Firefox
Latest version of Safari
假设此 SDK 仅适用于桌面网站,这是否正确,如果正确,我应该为移动网站使用什么?我知道有适用于 Android 和 iOS 的 SDK,但我没有制作原生应用。
谢谢。
【问题讨论】:
-
“我应该为移动网站使用什么?”很抱歉,如果 SDK 与移动设备不兼容,我真的认为您将无法做到这一点......
-
最初,我想说这在移动设备上是不可能的。选择/打开文件需要操作系统本身提供的本机文件管理器工具。由于 iOS 或 Android 没有此功能,您是否考虑过使用“替代”解决方案。例如,也许通过分享栏触发移动设备选择项目?
-
Junius Rendel / Stephn_R - 感谢您的回复。我确实明白,无论是有意还是无意,我正在使用的 SDK 在手机上都不起作用。但是,我有类似的用于 Google Drive 和 Dropbox 的 SDK。由于这些是 OneDrive 的竞争对手,我希望微软也能迎合移动网络,所以我可以假设我做错了什么,或者使用了错误的 SDK。此外,与我类似的网站允许我在手机上选择 OneDrive 文件。
-
Stephn_R - 我认为您误解了这个问题 - OneDrive 选择器不浏览设备 - 它浏览 OneDrive 帐户 - 从“云”中选择文件
标签: javascript mobile onedrive