【发布时间】:2014-10-26 09:10:17
【问题描述】:
在我的 Google Chrome 扩展程序中,我需要将文本复制到剪贴板上,并且我需要知道我的扩展程序是否安装在 Windows 操作系统上。有可能吗?
PS。如果是windows,我会用"\r\n"来代替end-lines,这样多行文字在windows上会更好看。
【问题讨论】:
标签: javascript windows google-chrome google-chrome-extension
在我的 Google Chrome 扩展程序中,我需要将文本复制到剪贴板上,并且我需要知道我的扩展程序是否安装在 Windows 操作系统上。有可能吗?
PS。如果是windows,我会用"\r\n"来代替end-lines,这样多行文字在windows上会更好看。
【问题讨论】:
标签: javascript windows google-chrome google-chrome-extension
至少有两种方式
你可以简单地依赖navigator.platform
更好的选择是使用 Chrome API:chrome.runtime.getPlatformInfo():
chrome.runtime.getPlatformInfo(function callback)返回有关当前平台的信息。
以PlatformInfo object 的形式。
chrome.runtime.getPlatformInfo( function(info) {
if(info.os == "win") { /* do stuff */ }
});
【讨论】:
chrome.runtime.getPlatformInfo 的另一个“缺点”是它是一个异步函数。很多时候我可能需要同步的结果。
chrome.runtime.getPlatformInfo 编写了一个polyfill,参见github.com/Rob--W/crxviewer/blob/master/src/…。不过,对于您的情况,只需使用 navigator.platform。这是足够可靠和同步的。