在 IE9 中使用 JavaScript 创建 GUID? [复制]
Posted
技术标签:
【中文标题】在 IE9 中使用 JavaScript 创建 GUID? [复制]【英文标题】:Create GUID with JavaScript in IE9? [duplicate] 【发布时间】:2012-05-03 18:40:57 【问题描述】:可能重复:How to create a GUID / UUID in javascript?JavaScript: how to generate UUID for Internet Explorer 9?
有没有办法在 IE9 的 javascript 中创建 GUID,完全依赖于 Windows 平台。它不必支持其他浏览器或操作系统。
谢谢!
【问题讨论】:
我认为这与浏览器无关。看看这个:***.com/questions/105034/… "它不必支持其他浏览器或操作系统" 似乎没有任何研究工作:bit.ly/Jz30et 我见过这些问题。它们是实际的 GUID 吗?或者:它们是否“与”实际系统创建的 guid 一样好? 感谢您的反对。我不是在寻找一种创建类似 GUID 的字符串的方法,而是一种进行系统调用以生成真正的 GUID 的方法。如果这不可能,我将使用@Kooilnc 提供的解决方案。 【参考方案1】:在 Google 上进行简单搜索后,我就可以找到 *** 上的 this answer。第一个结果。
这实际上是@Kooilnc 复制粘贴的内容。但是他没有粘贴第二部分:
但是,请注意在 cmets 中这些值不是真正的 GUID。无法在 Javascript 中生成真正的 GUID,因为它们依赖于浏览器不公开的本地计算机的属性。您需要使用特定于操作系统的服务,例如 ActiveX:http://p2p.wrox.com/topicindex/20339.htm
PS:我也建议看看这个库:node-uuid。
【讨论】:
反对的人可以谈谈吗?【参考方案2】:这是一个创建 UUID 的小方法 测试结果 UUID 之一here
var result = document.querySelector("#result");
result.textContent = '10 UUIDs\n---------------------------------------------\n';
for (var i = 0; i < 11; i += 1)
result.textContent += createUUID() + '\n';
function createUUID() // RFC 4122-ish
return Array.from(Array(32))
.map((e, i) =>
let someRandomValue = i === 12 ? 4 : (+new Date() + Math.random() * 16) % 16 | 0;
return `$~[8, 12, 16, 20].indexOf(i) ? "-" : ""$
(i === 16 ? someRandomValue & 0x3 | 0x8 : someRandomValue).toString(16)`;
).join("");
<pre id="result"></pre>
【讨论】:
感谢您的回答。如果没有合理的方法获得真正的 GUID,我会选择这个解决方案。以上是关于在 IE9 中使用 JavaScript 创建 GUID? [复制]的主要内容,如果未能解决你的问题,请参考以下文章