Tag: JavaScript

JavaScript – 确定一个属性是否被定义,并设置为“未定义”,或者是未定义的

说我有以下代码: function One() {} One.prototype.x = undefined; function Two() {} var o = new One(); var t = new Two(); ox和tx都将评估为undefined 。 o.hasOwnProperty('x')和t.hasOwnProperty('x')将返回false; propertyIsEnumerable也是一样。 两个问题: 有什么办法可以告诉牛被定义并设置为undefined ? 有没有任何理由? (如果两者在语义上相同?) 一个小小的警告:做(在o中的propName)循环会产生“x”作为其中一个string,而在t中做它不会 – 所以它们在内部performance如何(至less在Chrome中)有所不同。

在Chrome上从Greasemonkey脚本将JS函数注入页面

我有一个Greasemonkey脚本,在Firefox和Opera中运行得很好。 但是,我努力在Chrome中使用它。 问题是注入一个函数到页面中的代码可以调用的页面。 以下是我到目前为止所做的: 首先,我得到了Firefox的unsafeWindow的帮助参考。 这使我有相同的FF和Opera代码(和Chrome,我想)。 var uw = (this.unsafeWindow) ? this.unsafeWindow : window; 接下来,我向页面中注入一个函数。 它实际上只是一个非常薄的包装器,除了在我的GM脚本的上下文中调用相应的函数外,什么也不做: uw.setConfigOption = function(newValue) { setTimeout(setConfigOption, 0, newValue); } 然后,在我的脚本中有相应的function: setConfigOption = function(newValue) { // do something with it, eg store in localStorage } 最后,我用一个链接来调用函数,将一些HTML注入到页面中。 var p = document.createElement('p'); p.innerHTML = '<a href="javascript:setConfigOption(1)">set config option to 1</a>'; document.getElementById('injection-point').appendChild(p); 总结一下:在Firefox中,当用户点击注入的链接时,它会在unsafeWindow上执行函数调用,然后触发一个超时,在我的GM脚本的上下文中调用相应的函数,然后进行实际的处理。 (如果我在这里错了,请纠正我) […]

jQuery的问题 – #<一个对象>没有方法

我最近尝试了各种jQuery插件,并不断收到此错误… …无论我尝试使用哪个插件。 我已经检查到JS文件的链接都在那里,工作正常。 如果这有什么区别的话,我使用Drupal。 我已经从主站点运行插件,以certificate他们正在工作,我正在做的事情成功100%。 有任何想法吗? 更新: 我在脚注中调用的jQuery文件: $(document).ready(function() { $('#footer_holder').hide(); // Fancy Box $("a.fancybox").fancybox({ 'hideOnContentClick': true, 'titlePosition' : 'over', 'transitionIn' : 'elastic', 'transitionOut' : 'elastic', 'speedIn' : 600, 'speedOut' : 200, 'overlayShow' : false, }); $("#homepage_slider").easySlider({ auto: true, continuous: true, }); }); *注 – 花式框工作正常(除非easySlider代码是在上面)。 jQuery是由Drupal整理出来的。 我正在运行版本1.4

如何设置一个cookie在1小时内在Javascript中过期?

如何设置此cookie从当前时间到一小时后过期: document.cookie = 'username=' + value; + 'expires=' + WHAT GOES HERE?; + 'path = /';

我怎样才能停止与Backbone.js的事件传播?

使用Backbone.js视图,说我想包括以下事件: events: { 'click a': 'link', 'click': 'openPanel' } 点击链接时,如何避免openPanel被触发。 我想要的是有一个可点击的框,将触发一个动作,但是这个框可以有触发其他动作的元素,而不是父动作。 以Twitter.com为例,并在Tweets /右侧面板中链接。

骨干model.destroy()调用错误callback函数,即使它工作正常?

我有一个Backbone.js模型,当用户点击模型视图中的链接时,我试图销毁它。 该视图是这样的(伪代码,因为它在CoffeeScript中实现,可以在问题的底部find)。 var window.ListingSaveView = Backbone.View.extend({ events: { 'click a.delete': 'onDestroy' }, onDestroy: function(event){ event.preventDefault(); this.model.destroy({ success: function(model, response){ console.log "Success"; }, error: function(model, response){ console.log "Error"; } }); } }); 当我单击浏览器中的delete链接时,即使我的服务器logging成功销毁关联的数据库logging并返回200响应,我总是会将Errorlogging到控制台。 当我刷新页面(导致集合重新从数据库呈现)我删除的模型将消失。 有趣的是,当我在错误callback中loggingresponse时,它的状态码200表示成功,但是它也会报告statusText: "parseerror" 。 我的服务器日志中没有错误。 我究竟做错了什么? 这是来自服务器的响应: Object abort: function ( statusText ) { always: function () { complete: function () { done: […]

JavaScriptdate转换为毫秒

我可以将isodate转换为毫秒吗? 例如我想转换这个ISO 2012-02-10T13:19:11+0000 到毫秒。 因为我想比较创builddate的当前date。 并且创builddate是一个isodate。

javascript获取元素的标签

可以说这是我的HTML: <div id="foo"> <input id="goo" value="text" /> <span id="boo"> </span> </div> 我想能够确定什么标签属于一个HTML元素。 ID为“foo”= div ,“goo”= input ,“boo”= span …的示例元素 所以像这样的东西: function getTag (id) { var element = document.getElementById(id); return element.tag; }

Qunit参数化testing和嘲笑

我有两个问题: 你可以在qunit中进行参数化的unit testing吗? 你怎么嘲笑qunit,例如嘲笑一个getJSON调用? 谢谢

从Javascript发送JSON数据到PHP?

我怎么能从浏览器中的Javascript发送JSON数据到服务器,并让PHPparsing它?