Tag: JavaScript

Socket.io客户端:用一个处理程序响应所有事件?

是否有可能有一个socket.io客户端响应所有事件,而不必单独指定每个事件? 例如,像这样的东西(这显然现在不工作): var socket = io.connect("http://myserver"); socket.on("*", function(){ // listen to any and all events that are emitted from the // socket.io back-end server, and handle them here. // is this possible? how can i do this? }); 我想要在客户端socket.io代码接收到任何/所有事件时调用此callback函数。 这可能吗? 怎么样?

JavaScript获取JSON密钥名称

我传递了下面的JSON对象: var myVar = { typeA: { option1: "one", option2: "two" } } 我希望能够从上面的结构中取出键typestypeA 这个值每次都可以改变,所以下次它可能是typeB 。 所以我想知道是否有办法让我做下面的伪代码: var theTypeIs = myVar.key(); 这样,当我可以传递这个对象,我可以拉出对象的第一个值,在这种情况下,它是typeA ,然后根据我可以用option1和option2做不同的事情。

获取ES6类实例的类名

是否有任何“和谐”的方法来从ES6类实例获得类名? 以外 someClassInstance.constructor.name 目前我正指望Traceur的实施。 而且Babel似乎有一个用于Function.name polyfill,而Traceur则没有。 综上所述:在ES6 / ES2015 / Harmony中没有其他方法,ES中没有预期的ATM。 它可能为非服务器端应用程序提供有用的模式,但在浏览器/桌面/移动应用程序中是不需要的。 Babel 使用core-js j来填充Function.name ,它应该适当地为Traceur和TypeScript应用程序手动加载。

从php数组获取数据 – AJAX – jQuery

我有一个页面如下; <head> <script type="text/javascript" src="jquery-1.6.1.js"></script> <script type="text/javascript"> $(document).ready( function() { $('#prev').click(function() { $.ajax({ type: 'POST', url: 'ajax.php', data: 'id=testdata', cache: false, success: function(result) { $('#content1').html(result[0]); }, }); }); }); </script> </head> <body> <table> <tr> <td id="prev">prev</td> <td id="content1">X</td> <td id="next">next</td> </tr> </table> </body> 和一个PHP文件ajax.php来处理Ajax请求; <?php $array = array(1,2,3,4,5,6); echo $array; ?> 但是当我点击,我得到A而不是数组[0]。 我怎样才能解决这个问题? 提前致谢…

检测访客的国家/地点的最佳方法?

可能重复: 位置检测技术的IP地址 对于我们的网站来说,了解访问者来自哪个国家至关重要。 我想我的问题最好的答案是当前浏览器系统的简单的地理位置function,它只是询问用户是否允许网站看到他的地理位置: http : //dev.w3.org/geo/api/ SPEC-source.html 但我不想打扰访客的问题,我很想自动检测访问者的位置(国家应该足够了。) 什么是最好的方法来做到这一点? – 什么IP数据库将是最好的? – 浏览器头部是否值得可以检测到他的国家? (en-us en-en en-ca?)什么是最好的解决scheme?

重新渲染方向变化的网页的最佳方法是什么?

我有一个stream畅的CSS布局,当我改变方向时,在iphone上渲染不好。 (刷新时看起来很好)。 我正在使用下面的代码刷新页面的方向更改,这工作正常 – 这只是感觉有点不对。 有没有办法实现这一点,而不必重新加载整个页面? 这是一个手机网站,我真的不想强迫用户加载两次页面。 var supportsOrientationChange = "onorientationchange" in window, orientationEvent = supportsOrientationChange ? "orientationchange" : "resize"; window.addEventListener(orientationEvent, function() { window.location.reload() }, false); 编辑: 在iphone上testing的两个主要问题是: 我有一个100%的宽度,右alignment的背景图像。 当我将方向从纵向改变为横向时,身体宽度仍然是在纵向模式下呈现的方式,反之亦然。 由于页面过于宽广,似乎将图像渲染两次,从横向到纵向都是一个问题。

使用JavaScript的atob来解码base64不能正确解码utf-8string

我正在使用Javascript window.atob()函数来解码base64编码的string(特别是来自GitHub API的base64编码的内容)。 问题是我得到了ASCII编码的字符(像?而不是™ )。 我怎样才能正确处理传入的base64编码stream,以便解码为utf-8?

在Javascript中本地化string

我目前使用.resx文件来pipe理我的服务器端.NET资源。 我正在处理的应用程序还允许开发人员将JavaScript插入到各种事件处理程序中,以便进行客户端validation等。对于本地化我的JavaScript消息和string的最佳方法是什么? 理想情况下,我想将这些string存储在.resx文件中,以保留剩余的本地化资源。 我接受build议。

Javascript中的date差异(忽略一天中的时间)

我正在写一个设备租赁申请,根据租赁期限(以天计),向客户收取租用设备的费用。 所以基本上(每日费用*天数)=总费用。 对于客户端的即时反馈,我试图用Javascript来计算两个日历date的差异。 我搜查了一下,但没有find我正在寻找的东西。 我见过的大多数解决scheme的forms是: function dateDiff1(startDate, endDate) { return ((endDate.getTime() – startDate.getTime()) / 1000*60*60*24); } 我的问题是设备可以在这两个date的任何时候检查出来,并且不收取额外费用。 上面的代码是计算两个date之间24小时的时间段,当我真正感兴趣的日历天数。 例如,如果有人在7月6日上午6点检查了设备,并在7月7日晚上10点将其返还,上面的代码会计算出超过一个24小时的时间过去了,并且返回2.期望的结果是1,因为只有一个日历date已过(即第六至第七)。 我find的最接近的解决scheme是这个function: function dateDiff2(startDate, endDate) { return endDate.getDate() – startDate.getDate(); } 只要这两个date在同一个月内,就完全符合我的要求。 但是,由于getDate()只返回一个月份的date(即1-31),所以当date跨越多个月份时(例如7月31日到8月1日是1天,但是上面的计算1-31或-29)。 在后端,在PHP中,我使用gregoriantojd(),这似乎工作得很好(看到这个post的例子)。 我只是找不到在Javascript中的等效解决scheme。 任何人有任何想法?

剃刀语法和Javascript

作为一个testing,我将我们从Web Forms写成的概念validation应用程序转换为Razor,简单地说我们可以评估它。 到目前为止,我遇到了一个问题,使我的头受伤..生成客户端JavaScript … web的表单 <script type="text/javascript"> var jqGridIdList = "<%: Url.Action ("getidlist", "office", new { area = "reports" }) %>"; var availableIds = []; <% for (var i = 0; i < Model.Data.Count (); i++) { %> availableIds.push({ value : "<%: Model.Data.ElementAt (i).Text %>", label : "<%: Model.Data.ElementAt (i).Text %>" }); <% } %> […]