我有一个用户可以放置图像的表单的JPS: <div class="photo"> <div>Photo (max 240×240 and 100 kb):</div> <input type="file" name="photo" id="photoInput" onchange="checkPhoto(this)"/> </div> 我写了这个js: function checkPhoto(target) { if(target.files[0].type.indexOf("image") == -1) { document.getElementById("photoLabel").innerHTML = "File not supported"; return false; } if(target.files[0].size > 102400) { document.getElementById("photoLabel").innerHTML = "Image too big (max 100kb)"; return false; } document.getElementById("photoLabel").innerHTML = ""; return true; } 这工作正常,以检查文件的types和大小。 现在我想检查图像的宽度和高度,但我不能这样做。 我已经尝试与target.files[0].width但我undefined 。 […]
有一个可靠的方法来从客户端浏览器获得时区? 我看到以下链接,但我想要一个更强大的解决scheme。 使用JavaScript自动检测时区 JavaScript中的时区检测
所以现在HTML5引入了history.pushState来改变浏览器的历史,网站开始使用这个结合Ajax而不是改变URL的片段标识符。 可悲的是,这意味着这些呼叫不能再通过onhashchange来检测。 我的问题是:有一个可靠的方法(破解?))来检测网站使用history.pushState ? 规范没有提到任何有关事件的提出(至less我找不到任何东西)。 我试图创build一个门面,并用我自己的JavaScript对象replacewindow.history ,但它根本没有任何效果。 进一步的解释:我正在开发一个Firefox插件,需要检测这些变化,并采取相应的行动。 我知道前几天有一个类似的问题,问是否听一些DOM事件是有效的,但我不想依赖这个事件,因为这些事件可能由于许多不同的原因而产生。 更新: 这里是一个jsfiddle (使用Firefox 4或Chrome 8),它显示当pushState被调用时onpopstate没有被触发(或者我做错了什么?随意改进!)。 更新2: 另一个(方面)的问题是,当使用pushState时, window.location没有被更新(但是我已经在这里读到了关于它的内容)。
有没有人知道如何检查,如果jQuery已被加载(与JavaScript),然后加载它,如果没有被加载。 就像是 if(!jQuery) { //load jquery file }
我想添加一个当前date到一个隐藏的HTML标记,以便它可以发送到服务器: <input type="hidden" id="DATE" name="DATE" value="WOULD_LIKE_TO_ADD_DATE_HERE"> 如何将格式化的date添加到VALUE属性?
我正在一个拥有大量embedded式YouTubevideo的网站上工作,客户希望在video停止播放时显示一个popup窗口。 我看了YouTube的API,似乎有一种方法来检测video结束时: http://code.google.com/apis/youtube/js_api_reference.html 但是由于video已经在网站上(已经通过粘贴embedded代码手动添加了数千个video),因此我无法在video中embeddedvideo。 有没有办法检测到这些video的结尾,而不改变任何现有的video(使用JavaScript)?
可能重复: 什么是克隆JavaScript对象最有效的方法? 我需要复制一个(有序的,不关联的)对象数组。 我正在使用jQuery。 我最初尝试 jquery.extend({}, myArray) 但是,自然,这给了我一个对象,在那里我需要一个数组(真的爱jquery.extend,顺便说一句)。 那么,复制数组的最佳方法是什么?
我已经成功地完成了在浏览器中显示PDF文件的代码,而不是“打开/保存”对话框。 现在,我试图在浏览器中显示一个Word文档。 我想在Firefox,IE7 +,Chrome等显示一个Word文档 任何人都可以帮忙吗? 在浏览器中显示Word文档时,我总是得到“打开/保存”对话框。 我想用JavaScript实现这个function。
我仍然困惑如何解决与webpack模块path。 现在我写: myfile = require('../../mydir/myfile.js') 但我想写 myfile = require('mydir/myfile.js') 我以为resolve.alias可能会有所帮助,因为我看到一个类似的例子{ xyz: "/some/dir" }作为别名,然后我可以require("xyz/file.js") 。 但是,如果我将别名设置为{ mydir: '/absolute/path/mydir' } , require('mydir/myfile.js')将不起作用。 我觉得很愚蠢,因为我已经多次阅读文档,我觉得我失去了一些东西。 什么是正确的方法,以避免写所有的相对需要../../等?
在基于几个用户上下文呈现整个页面并且创build了几个$http请求之后,我希望用户能够切换上下文并重新呈现所有内容(重新发送所有$http请求等)。 如果我只是将用户redirect到其他地方,事情就能正常工作: $scope.on_impersonate_success = function(response) { //$window.location.reload(); // This cancels any current request $location.path('/'); // This works as expected, if path != current_path }; $scope.impersonate = function(username) { return auth.impersonate(username) .then($scope.on_impersonate_success, $scope.on_auth_failed); }; 如果我使用$window.location.reload() ,那么等待响应的auth.impersonate(username)上的一些$http请求被取消,所以我不能使用它。 另外,hack $location.path($location.path())也不起作用(没有任何反应)。 有没有另外的方式来重新呈现页面,而无需再次手动发出所有请求?