Tag: JavaScript

如何在30分钟内使用jQuery过期cookie?

如何在30分钟内过期Cookie? 我正在使用一个jQuery cookie。 我可以做这样的事情。 $.cookie("example", "foo", { expires: 1 }); 这是1天。 但是,我们怎样才能将到期时间设置为30分钟。

在JavaScript中处理可选参数

我有一个静态的JavaScript函数,可以采取1,2或3个参数: function getData(id, parameters, callback) //parameters (associative array) and callback (function) are optional 我知道我总是可以testing一个给定的参数是否是未定义的,但是如何知道传递的是参数还是callback? 这样做的最好方法是什么? 什么可以通过的例子: 1: getData('offers'); 2: var array = new Array(); array['type']='lalal'; getData('offers',array); 3: var foo = function (){…} getData('offers',foo); 4: getData('offers',array,foo);

您是否可以使用Graph API获取公共Facebook页面的提要,而不要求用户允许?

我从来没有使用过Facebook的Graph API或OAuth。 我只是试图使用Graph API获取公共Facebook页面的提要,但它需要一个访问令牌。 我不想麻烦用户login,并允许访问获得他们的令牌。 一个Facebook应用程序访问令牌可以用来获取公共提要,但我正在尝试完全使用Javascript,所以我不能使用应用程序的秘密这样做。 我读了一个Facebook应用程序访问令牌永远不会过期或更改,除非我手动重置密钥。 这是真的? 访问令牌硬编码是否安全? 如果没有,有什么办法可以validation应用程序来获取令牌,而不必涉及用户? 是否有某种types的通用应用令牌可以使用?

如何在angularjs中创build简单的拖放操作

我想知道如何使用AngularJs进行拖放操作。 这是我迄今为止: <span><input type="checkbox" ng-model="master"><span>SelectAll</span></span> <div ng-repeat="todo in todos"> <div ng-hide="enableEditor"> <a href="#">Drag</a> <input id="checkSlave" type="checkbox" ng-checked="master" ng-model="todo.done"> <span ng-if="checked" ng-show="removed" ng-bind="todo.task_name" class="removed"></span> <span ng-bind="todo.task_name"></span> <span ng-bind="todo.state"></span> <a href="#" ng-click="editTask(todo.task_id,todo.task_name,editMode=!editMode)">Edit</a> </div> </div> <div ng-show="enableEditor"> <input type="text" ng-show="editMode" ng-model="todo.task_name" ng-change="update(todo.task_id,todo.task_name)"> <a href="#" ng-click="saveTask(todo.task_id,todo.task_name,editMode=!editMode)">Save</a> <a href="#" ng-click="cancelTask(todo.task_id,todo.task_name,editMode=!editMode)">Cancel</a> </div> </div> http://plnkr.co/edit/llTH9nRic3O2S7XMIi6y?p=preview ..

RequireJS:如何定义包含单个“类”的模块?

我有一些JavaScript“类”,每个都在自己的JavaScript文件中实现。 对于开发这些文件是单独加载,并为生产他们连接,但在这两种情况下,我必须手动定义一个加载顺序,确保B之后A如果B使用答:我打算使用RequireJS作为CommonJS Modules / AsynchronousDefinition为我自动解决这个问题。 有没有更好的方法来做到这一点,而不是定义每个导出一个类的模块? 如果没有,如何命名模块导出的内容? 一个模块“员工”出口class级“员工”,如下面的例子,对我来说感觉不够干 。 define("employee", ["exports"], function(exports) { exports.Employee = function(first, last) { this.first = first; this.last = last; }; }); define("main", ["employee"], function (employee) { var john = new employee.Employee("John", "Smith"); });

如何在Backbone中获取单个模型?

我在Backbone有一个Clock模型: var Clock = Backbone.Model.extend({}); 我试图从/clocks/123获取最新信息的实例。 有些事我已经尝试了: 一个“类”级的方法 Clock.fetch(123) // TypeError: Object function (){ … } has no method 'fetch' 创build一个实例,然后调用它的fetch : c = new Clock({id: 123}) c.fetch() // Error: A 'url' property or function must be specified 一个集合 我试图创build一个AllClocks集合资源(即使我没有使用这样的事情在页面上): var AllClocks = Backbone.Collection.extend({ model: Clock, url: '/clocks/' }); var allClocks = new AllClocks(); allClocks.fetch(123); […]

如何使用jQuery或JavaScript分割string?

<div id="date">23/05/2013</div> 我想格式化这个date,首先我想打破像第二个字符的string,并在下一行中rest。 如果有可能与jQuery追加两个标签。 如下: 23 05/2013 <div id="date"> <span>23</span> 05/2013</div> 我做了什么: <div id="date">23/05/2013</div> <script type="text/javascript"> $(document).ready(function(){ $("#date").text().substring(0, 2) + '<br />'; }); </script> http://jsfiddle.net/K3D6d/ 但是这不行! 有人可以帮助jQuery? 谢谢!

Three.js投影仪和Ray对象

我一直在尝试使用Projector和Ray类来做一些碰撞检测演示。 我已经开始尝试使用鼠标来select对象或拖动它们。 我已经看过使用这些对象的例子,但是他们似乎都没有解释投影机和Ray的某些方法在做什么。 我有一些问题,我希望有人会很容易回答。 究竟发生了什么,Projector.projectVector()和Projector.unprojectVector()之间有什么区别? 我注意到在所有使用投影仪和光线对象的例子中,在创build光线之前调用了未投影的方法。 你什么时候使用projectVector? 在这个演示中 ,我使用下面的代码在用鼠标拖动时旋转多维数据集。 有人可以用简单的术语解释,当我用mouse3D和相机取消投影,然后创buildRay时究竟发生了什么。 光线是否取决于对unprojectVector()的调用 /** Event fired when the mouse button is pressed down */ function onDocumentMouseDown(event) { event.preventDefault(); mouseDown = true; mouse3D.x = mouse2D.x = mouseDown2D.x = (event.clientX / window.innerWidth) * 2 – 1; mouse3D.y = mouse2D.y = mouseDown2D.y = -(event.clientY / window.innerHeight) * 2 + 1; […]

在angularjs中显示validation错误消息

我有一个表单,如果点击提交,需要显示validation错误信息。 这是一个工作的笨蛋 <form name="frmRegister" ng-submit="register();" novalidate> <div> <input placeholder="First Name" name="first_name" type="text" ng-model="user.firstName" required /> <span ng-show="frmRegister.first_name.$dirty && frmRegister.first_name.$error.required">First Name is required</span> </div> <div> <input placeholder="Last Name" name="last_name" type="text" ng-model="user.lastName" required /> <span ng-show="frmRegister.last_name.$dirty && frmRegister.last_name.$error.required">Last Name is required</span> </div> <div> <input placeholder="Email" name="email" type="email" ng-model="user.email" required /> <span ng-show="frmRegister.email.$dirty && frmRegister.email.$error.required">Email is required.</span> <span […]

JSON安全最佳实践?

在研究JSON和XML的问题的同时,我遇到了这个问题 。 现在,selectJSON的原因之一就是在Javascript中易于转换,即使用eval() 。 从安全的angular度来看,这立即引起了我的问题。 因此,我开始对JSON的安全性方面进行一些研究,并在这篇博文中讨论JSON如何不如人们所想的那样安全 。 这部分突出了: 更新:如果你正在做JSON 100%,那么你将只有顶层的对象。 数组,string,数字等都将被包装。 一个JSON对象然后将不能eval(),因为JavaScript解释器会认为它正在查看一个块而不是一个对象。 这对防范这些攻击有很长的路要走,但最好还是用不可预知的URL来保护您的安全数据。 好吧,这是一个很好的规则:顶层的JSON对象应该始终是对象而不是数组,数字或string。 听起来对我来说是一个很好的规则。 当涉及到JSON和AJAX相关的安全性时,还有什么可以做或者避免的吗? 上面引用的最后部分提到了不可预测的URL。 有没有人有更多的信息,特别是你如何在PHP中做到这一点? 在Java中,我比PHP更有经验,而且在Java中很容易(因为你可以将一系列的URL映射到一个servlet),而我所做的所有PHP都将一个URL映射到PHP脚本。 另外,您究竟如何使用不可预知的URL来提高安全性?