Questions tagged «javascript»

有关在ECMAScript(JavaScript / JS)及其各种方言/实现(不包括ActionScript)中进行编程的问题。此标记很少单独使用,但最常与标记[node.js],[jquery],[json]和[html]关联。

5
提交POST表单后,打开一个显示结果的新窗口
JavaScript提交请求(例如表单提交)向您展示了如何提交通过POST在JavaScript中创建的表单。下面是我修改的代码。 var form = document.createElement("form"); form.setAttribute("method", "post"); form.setAttribute("action", "test.jsp"); var hiddenField = document.createElement("input"); hiddenField.setAttribute("name", "id"); hiddenField.setAttribute("value", "bob"); form.appendChild(hiddenField); document.body.appendChild(form); // Not entirely sure if this is necessary form.submit(); 我想做的是在新窗口中打开结果。我目前正在使用类似的方法在新窗口中打开页面: onclick = window.open(test.html, '', 'scrollbars=no,menubar=no,height=600,width=800,resizable=yes,toolbar=no,status=no');
149 javascript  html  post 

24
检测浏览器没有鼠标并且仅是触摸式
我正在开发一个Web应用程序(不是一个包含有趣文本页面的网站),其触摸(您的手指在单击时隐藏屏幕)和鼠标(很大程度上取决于悬停预览)的界面非常不同。如何检测到我的用户没有鼠标向他展示正确的界面?我计划为使用鼠标和触摸的人(例如某些笔记本电脑)留下一个开关。 浏览器中的触摸事件功能实际上并不意味着用户正在使用触摸设备(例如,Modernizr不会对其进行裁剪)。如果设备具有鼠标,则正确回答该问题的代码应返回false,否则返回true。对于具有鼠标和触摸功能的设备,它应该返回false(不仅限于触摸) 附带说明一下,我的触摸界面也可能适用于仅键盘的设备,因此更多是我想检测不到的鼠标。 为了使需求更加清楚,这是我要实现的API: // Level 1 // The current answers provide a way to do that. hasTouch(); // Returns true if a mouse is expected. // Note: as explained by the OP, this is not !hasTouch() // I don't think we have this in the answers already, that why …
149 javascript  html  touch  mouse 


5
YouTube iframe API:如何控制HTML中已经存在的iframe播放器?
我希望能够控制基于iframe的YouTube播放器。该播放器已经存在于HTML中,但是我想通过JavaScript API对其进行控制。 我一直在阅读iframe API的文档,其中解释了如何使用API​​向页面添加新视频,然后使用YouTube播放器功能对其进行控制: var player; function onYouTubePlayerAPIReady() { player = new YT.Player('container', { height: '390', width: '640', videoId: 'u1zgFlCw8Aw', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } 该代码创建了一个新的播放器对象,并将其分配给“ player”,然后将其插入#container div中。然后,我可以在“播放器”和呼叫操作playVideo(),pauseVideo()就可以了,等等。 但是我希望能够在页面上已经存在的iframe播放器上进行操作。 使用旧的embed方法,我可以很容易地做到这一点,例如: player = getElementById('whateverID'); player.playVideo(); 但这不适用于新的iframe。如何在页面上分配iframe对象,然后在其上使用API​​函数?

14
HTML5画布调整大小(缩小)图像的质量?
我使用html5 canvas元素在浏览器中调整图像大小。事实证明,质量很低。我发现了这一点:在缩放<canvas>时禁用插值,但它无助于提高质量。 下面是我的css和js代码,以及用Photoshop调用并在canvas API中缩放的图像。 在浏览器中缩放图像时,我该怎么做才能获得最佳质量? 注意:我想将大图像缩小为小图像,修改画布中的颜色并将结果从画布发送到服务器。 CSS: canvas, img { image-rendering: optimizeQuality; image-rendering: -moz-crisp-edges; image-rendering: -webkit-optimize-contrast; image-rendering: optimize-contrast; -ms-interpolation-mode: nearest-neighbor; } JS: var $img = $('<img>'); var $originalCanvas = $('<canvas>'); $img.load(function() { var originalContext = $originalCanvas[0].getContext('2d'); originalContext.imageSmoothingEnabled = false; originalContext.webkitImageSmoothingEnabled = false; originalContext.mozImageSmoothingEnabled = false; originalContext.drawImage(this, 0, 0, 379, 500); …

1
JSON劫持仍然是现代浏览器中的问题吗?
我正在使用Backbone.js和Tornado Web服务器。在Backbone中接收集合数据的标准行为是作为JSON数组发送。 另一方面,由于以下漏洞,Tornado的标准行为是不允许JSON Array: http://haacked.com/archive/2008/11/20/anatomy-of-a-subtle-json-vulnerability.aspx 一个相关的是:http : //haacked.com/archive/2009/06/25/json-hijacking.aspx 对于我来说,当它确实是一个对象列表时,不必将JSON包装在一个对象中,这是更自然的选择。 我无法在现代浏览器(即当前的Chrome,Firefox,Safari和IE9)中重现这些攻击。同时,我无法证实现代浏览器已经解决了这些问题。 为确保我不会被任何可能的编程技巧和谷歌搜索技巧所误导: 这些JSON劫持攻击是否在当今的浏览器中仍然是一个问题? (注意:很抱歉,可能存在以下重复项:是否可以在现代浏览器中进行“ JSON劫持”? 但是由于接受的答案似乎无法回答问题-我认为是时候再次询问并获得一些更清晰的解释)


9
使用jQuery / Javascript获取查询字符串参数url值(querystring)
有人知道编写jQuery扩展来处理查询字符串参数的好方法吗?我基本上想扩展jQuery魔术($)函数,因此可以执行以下操作: $('?search').val(); 这将使我在以下URL中获得值“ test” :http://www.example.com/index.php?search=test。 我已经看到了很多可以在jQuery和Javascript中实现此功能的函数,但实际上我想扩展jQuery以使其完全如上所示工作。我不是在寻找jQuery插件,而是在寻找jQuery方法的扩展。

7
检测浏览器选项卡是否具有焦点
是否有可靠的跨浏览器方式来检测选项卡是否具有焦点。 情况是,我们有一个应用程序定期轮询股票价格,如果页面没有重点关注,我们可以停止轮询并为每个人节省交通噪音,尤其是当人们热衷于打开具有不同投资组合的多个标签时。 是window.onblur并且window.onfocus为此选择吗?

6
以秒为单位获取两个日期之间的时差
我试图在几秒钟之内得到两个日期之间的差异。逻辑将是这样的: 设置一个初始日期,即现在; 设置最终日期,该日期将是初始日期加上将来的秒数(例如,假设15) 得到两者之间的差(秒数) 之所以使用日期来做,是因为最终日期/时间取决于其他一些变量,并且永远不一样(取决于用户执行操作的速度),并且我还存储其他日期的初始日期。 我一直在尝试这样的事情: var _initial = new Date(), _initial = _initial.setDate(_initial.getDate()), _final = new Date(_initial); _final = _final.setDate(_final.getDate() + 15 / 1000 * 60); var dif = Math.round((_final - _initial) / (1000 * 60)); 问题是我永远都不会得到正确的区别。我尝试过除以除以24 * 60秒,但我从来没有做对。那我的逻辑怎么了?我可能会犯一些愚蠢的错误,因为已经很晚了,但是我不敢让它正常工作:)
149 javascript  date 

17
如何捕获浏览器窗口关闭事件?
我想捕获浏览器窗口/选项卡关闭事件。我已经尝试使用jQuery以下内容: jQuery(window).bind( "beforeunload", function() { return confirm("Do you really want to close?") } ) 但这也适用于表单提交,这不是我想要的。我想要一个仅在用户关闭窗口时才触发的事件。

11
ES6 / 2015中的空安全属性访问(和条件赋值)
是否有一个null-safe属性访问(空传播/存在)操作者在ES6(ES2015 / JavaScript.next /和谐)等?.中的CoffeeScript例如?还是计划针对ES7? var aThing = getSomething() ... aThing = possiblyNull?.thing 大致如下所示: if (possiblyNull != null) aThing = possiblyNull.thing 理想情况下,解决方案不应该分配(甚至undefined)到aThing如果possiblyNullISnull

9
可播JavaScript随机数生成器
JavaScript Math.random()函数返回一个介于0到1之间的随机值,该值会根据当前时间自动播种(我相信类似于Java)。但是,我认为没有任何办法可以为其设置种子。 如何制作一个可以提供自己的种子值的随机数生成器,以便可以生成可重复的(伪)随机数序列?
149 javascript  random  seed 


3
将持续时间添加到片刻(moment.js)
瞬间版本:2.0.0 阅读文档后,我认为这很简单(Chrome控制台): var timestring1 = "2013-05-09T00:00:00Z"; var timestring2 = "2013-05-09T02:00:00Z"; var startdate = moment(timestring1); var expected_enddate = moment(timestring2); var returned_endate = startdate.add(moment.duration(2, 'hours')); returned_endate == expected_enddate // false returned_endate // Moment {_i: "2013-05-09T00:00:00Z", _f: "YYYY-MM-DDTHH:mm:ss Z", _l: undefined, _isUTC: false, _a: Array[7]…} 这是一个简单的例子,但我什至无法使它正常工作。我觉得我在这里缺少重要的东西,但我真的不明白。即使这样,这似乎也不起作用: startdate.add(2, 'hours') // Moment {_i: "2013-05-09T00:00:00Z", _f: …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.