相关疑难解决方法(0)

生成唯一ID的最佳方法客户端(使用Javascript)

我需要在浏览器中生成唯一的ID.目前,我正在使用这个:

Math.floor(Math.random() * 10000000000000001)
Run Code Online (Sandbox Code Playgroud)

我想使用当前的UNIX时间((new Date).getTime()),但我很担心,如果两个客户端产生的IDS 确切的同时,他们也不会是唯一的.

我可以使用当前的UNIX时间(我想因为那种方式会存储更多信息)吗?如果没有,最好的方法是什么(可能是UNIX时间+ 2个随机数字?)

javascript jquery

16
推荐指数
3
解决办法
6万
查看次数

如何在Javascript中获取元素及其子元素的所有计算css属性

我正在尝试使用pdfKit从html文件创建pdf文件来在python中设置服务.

所以基本上我会将我的元素作为字符串发送并期望服务器返回它的pdf版本,但为了准确表示我还需要发送元素的css文件.

我怎样才能做到这一点?仅使用元素及其所有子元素的相关样式属性和选择器生成JSON /对象.尊重层次结构,没有重复.有类似的问题,但它们已经过时,往往不考虑儿童元素.

我想也许有一种方法可以从这个元素创建一个新的DOM,然后获得根css?

javascript css wkhtmltopdf python-pdfkit

15
推荐指数
1
解决办法
1606
查看次数

在Javascript客户端创建UUID有危险吗?

我需要生成UUID以最终存储在数据库中.我可以在客户端浏览器上从Javascript生成这些UUID(这里有一些例子)?

这样做有安全隐患吗?据我所知,任何人都可以在将UUID传递到服务器进行存储之前对其进行修改.因此,我需要在将它们存储到数据库之前检查它们是否是真正独特的,但除此之外,是否还有其他要检查的东西?

(抱歉我的英文,随时纠正任何语法错误)

编辑:要回答有关我为什么要这样做的问题,这是因为我可以在Javascript中创建一个新对象及其标识符并将其添加到我的视图中,然后对服务器进行AJAX调用以将其添加到数据库中.这样,我不需要从数据库加载它以知道它的主要标识符是什么.

security uuid

14
推荐指数
1
解决办法
5409
查看次数

使用GWT生成UUID

有没有办法用GWT生成UUID?

gwt uuid

14
推荐指数
2
解决办法
1万
查看次数

角js添加两个数字问题

我有使用angular js的代码:

<!DOCTYPE html >
<html>
<head>
    <title>Untitled Page</title>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
    <script type="text/javascript">
        function TodoCtrl($scope) {
            $scope.total = function () {
                return $scope.x + $scope.y;
            };

        }
    </script>
</head>
<body>
   <div ng-app>
  <h2>Calculate</h2>

  <div ng-controller="TodoCtrl">
    <form>
        <li>Number 1: <input type="text" ng-model="x" /> </li>
        <li>Number 2: <input type="text" ng-model="y" /> </li>
        <li>Total <input type="text" value="{{total()}}"/></li>       
    </form>
  </div>
</div>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我能够进行乘法,除法和减法但是为了加法,代码只是连接x和y值(即如果x = 3且y = 4,则总数为34而不是7)

我究竟做错了什么?

javascript angularjs

13
推荐指数
2
解决办法
4万
查看次数

使用localStorage和REST远程服务器的数据层架构

任何人对如何实现同时使用localStorage和REST远程存储的数据持久层有任何想法或参考:

某个客户端的数据与localStorage一起存储(使用ember-data indexedDB适配器).本地存储的数据与远程服务器同步(使用ember-data RESTadapter).

服务器从客户端收集所有数据.使用数学集符号:

Server = Client1 ? Client2 ? ... ? ClientN 
Run Code Online (Sandbox Code Playgroud)

通常,任何记录对某个客户来说可能不是唯一的:

ClientX ? ClientY ? 0,  ? X,Y ? [1,N]
Run Code Online (Sandbox Code Playgroud)

以下是一些场景:

  • 客户创建记录.无法在客户端上设置记录的ID,因为它可能与存储在服务器上的记录冲突.因此,需要将新创建的记录提交到服务器 - >接收id - >在localStorage中创建记录.

  • 记录在服务器上更新,因此localStorage和服务器中的数据不同步.只有服务器知道,所以架构需要实现推送架构(?)

您是否会使用2个存储(一个用于localStorage,一个用于REST)并在它们之间同步,或者使用混合索引的DB2/REST适配器并在适配器中写入同步代码?

你能看到任何避免实现推送的方法(Web Sockets,...)?

rest data-synchronization ember.js ember-data

12
推荐指数
1
解决办法
2184
查看次数

如何在angular-2中创建GUID?

在我的应用程序中我需要创建GUID,GUID将作为cookie工作,所以任何人都知道如何在angular-2/typescript中创建GUID或使用任何angular2依赖/库.

typescript angular

12
推荐指数
3
解决办法
4万
查看次数

打字稿中的GUID/UUID类型

我有这个功能:

function getProduct(id: string){    
    //return some product 
}
Run Code Online (Sandbox Code Playgroud)

其中id实际上是GUID.Typescript没有guid类型.可以GUID手动创建类型吗?

function getProduct(id: GUID){    
    //return some product 
}
Run Code Online (Sandbox Code Playgroud)

所以,如果反而'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'会有些'notGuidbutJustString'话,我会看到打字稿编译错误.

更新:正如David Sherret所说:在编译时无法确保基于正则表达式或其他函数的字符串值,但是可以在运行时在一个地方执行所有检查.

uuid types guid typescript

11
推荐指数
1
解决办法
2万
查看次数

如何从时间戳生成哈希?

我必须生成唯一的哈希 - 可能来自时间戳.hash必须有最多8个字符.怎么做?

现在我只有时间戳:

var t = new Date().getTime();
Run Code Online (Sandbox Code Playgroud)

javascript

10
推荐指数
1
解决办法
6755
查看次数

Internet Explorer 11中的crypto.getRandomValues有什么问题?

以下代码使用生成3个随机数window.crypto.getRandomValues.根据开发人员的文档(Microsoft MSDNMozilla 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,然后我发现了这个问题.


(更新:根据 …

javascript internet-explorer window.crypto

10
推荐指数
1
解决办法
5577
查看次数