以下代码使用生成3个随机数window.crypto.getRandomValues.根据开发人员的文档(Microsoft MSDN和Mozilla MDN),这应该适用于IE和Chrome.
但实际上它仅适用于Chrome,而不适用于Internet Explorer 11.根据Microsoft的说法,此代码应该可以运行 - 它们提供了与下面列出的相似的代码示例(请参阅上面的MSDN链接).
怎么了?它是如何修复的,以便在两种浏览器中都能正常工作?
var randomValuesArray = new Int32Array(3);
var crypto = window.crypto;
crypto.getRandomValues(randomValuesArray);
var outputString = "";
for (var i = 0; i < randomValuesArray.length; i++) {
if (i > 0) outputString += ",";
outputString += randomValuesArray[i];
}
console.log(outputString);Run Code Online (Sandbox Code Playgroud)
首先在Chrome中尝试使用此代码段,它会正确显示类似的内容
-513632982,-694446670,-254182938
在警报弹出窗口中.
然后,复制此问题的URL并在Internet Explorer 11中尝试- 它显示:
错误:{"message":"无法获取属性'getRandomValues'未定义或null>引用","filename":" https://stacksnippets.net/js ","lineno":15,"colno":2 }
一些背景:我想尝试使用这个代码在Javascript中生成Guids,然后我发现了这个问题.
(更新:根据 …
是否有内置方法或defacto默认插件,可以让你自动为jQuery中的元素分配一个唯一的ID,或者你需要自己实现这样的东西吗?我正在寻找与Prototype的识别方法等效的jQuery
这是一个例子.我在页面上有一些HTML结构,看起来像这样
<span id="prefix_1">foo bar</span>
...
<div id="foo">
<span></span>
<span></span>
<span></span>
</div>
Run Code Online (Sandbox Code Playgroud)
我想为每个跨度分配一个对于页面唯一的ID.在打完这样的话后
$('#foo span').identify('prefix'); //fake code, no such method
Run Code Online (Sandbox Code Playgroud)
渲染的DOM看起来像这样
<span id="prefix_1">foo bar</span>
...
<div id="foo">
<span id="prefix_2"></span>
<span id="prefix_3"></span>
<span id="prefix_4"></span>
</div>
Run Code Online (Sandbox Code Playgroud)
对于jQuery有什么官方的/健壮的,或者这是大多数jQuery开发人员自己推出的东西?
PouchDB最佳实践建议是使用PUT而不是POST创建新文档(类似于rdbms中的行),主要是因为后者生成随机ID,这使得后续数据排序效率低下.PUT另一方面,需要提供用户生成的唯一ID.
我有点困惑PouchDB似乎没有提供开箱即用的功能.那么,生成唯一的顺序ID(类似于PostgreSQL的序列)的最佳方法是什么?我可以使用类似的东西maxID,但在我看来,主要问题是确保在我确定maxID和实际成功插入记录之间没有其他人插入记录.
建议?
什么是javascript中此函数的等价物:
http://php.net/manual/en/function.uniqid.php
基本上我需要生成一个看起来像的随机ID:a4245f54345并以字母字符开头(所以我可以将它用作CSS id)
我想分发一个企业iOS应用程序,以便在用户打开它时,它已经显示了他们的名字和其他信息,即使.ipa与其他每个用户下载的.ipa相同.我认为我可以通过向用户提供特定于他们的应用下载URL并生成所需的企业下载plist以包含一些用户数据来实现此目的,但我的问题是:
甚至可以从应用程序内的下载链接访问/读取Plist吗?如果是这样,怎么样?
我有一个自定义元素(Aurelia等同于Web组件),它创建了一个tinymce编辑器.无法通过使用选择器选择textarea(因为页面上可以存在任意数量的这些自定义元素).我需要通过传递元素对象来初始化tinymce实例.有可能吗?我无法在任何地方找到这个功能......
提前致谢.
我的代码创建了一个图形并在每个节点上创建了一个枢轴点,如果你双击它们,它将获取与该节点相关的更多数据,并希望创建新的链接.现在这是我遇到的问题:
我点击了一个最外面的节点,但由于某种原因,新链接被附加到第一个节点(蓝色节点).知道为什么会这样吗?
function draw_graph(graph) {
var color = d3.scaleOrdinal(d3.schemeCategory20);
var svg = d3.select("svg"),
width = +svg.attr("width"),
height = +svg.attr("height"),
node,
link;
svg.append('defs').append('marker')
.attrs({
'id': 'arrowhead',
'viewBox': '-0 -5 10 10',
'refX': 13,
'refY': 0,
'orient': 'auto',
'markerWidth': 13,
'markerHeight': 13,
'xoverflow': 'visible'
})
.append('svg:path')
.attr('d', 'M 0,-5 L 10 ,0 L 0,5')
.attr('fill', '#999')
.style('stroke', 'none');
var simulation = d3.forceSimulation()
.force("link", d3.forceLink().id(function (d) {
return d.id;
}).distance(200).strength(1))
.force("charge", d3.forceManyBody())
.force("center", d3.forceCenter(width / 2, height / 2));
update(graph.links, graph.nodes);
svg.selectAll('circle').on('dblclick', function …Run Code Online (Sandbox Code Playgroud) 我们需要跟踪第三方网站上发生的转化.我们唯一可以放在该网站上的是一个图像像素,也许还有一些JS逻辑可以解雇它.
我知道可以使用"度量协议"触发转换:https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#visitor
理想情况下,我只是给第三方一个IMG网址,那就是它.问题是CID(唯一客户端ID).
我可以尝试通过URL参数将CID从我们的站点传递给第三方.但是,有很多情况下它不可用(例如,IMG pixcel将在电子邮件中,目标URL在印刷文献上)或第三方不愿意经历麻烦.以这种方式传递此CID是最佳做法吗?
我可以尝试生成一个CID,但我找不到一种简单的方法,例如,var CID = generateCID().第三方网站在页面上有自己的GA.我可以使用他们的Google Analytics CID并在图片像素网址中使用它吗?
最好的方法是什么?谢谢!
如何在google工作表中生成一个uuid(例如ccb8a660-91c9-a556-58e0-4fa7-229516872004).
要么用宏?还是一个公式?我没有在谷歌帮助中找到解决方案.
Merci Dom
我将尝试添加一些与UUID相关的软件包,即https://www.npmjs.com/package/uuid-generator-ts和https://www.npmjs.com/package/@types/uuid。但是我遇到一个错误,如果我安装了这些软件包,请告诉我如何在角度6中生成UUID。
javascript ×5
jquery ×2
uuid ×2
ajax ×1
aurelia ×1
d3.js ×1
dom ×1
ios ×1
objective-c ×1
phpjs ×1
pouchdb ×1
prototypejs ×1
tinymce ×1
typescript ×1