Questions tagged «javascript»

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

21
检测浏览器何时接收文件下载
我有一个页面,允许用户下载动态生成的文件。生成需要很长时间,因此我想显示一个“等待”指示。问题是,我不知道如何检测浏览器何时收到文件,因此可以隐藏指示器。 我正在以隐藏的形式发出请求,该请求会发布到服务器,并以隐藏的iframe作为结果。这样一来,我就不会用结果替换整个浏览器窗口。我在iframe上侦听“加载”事件,希望下载完成后将触发该事件。 我随文件返回一个“ Content-Disposition:附件”标头,这将导致浏览器显示“保存”对话框。但是浏览器不会在iframe中触发“加载”事件。 我尝试的一种方法是使用多部分响应。因此它将发送一个空的HTML文件以及附加的可下载文件。例如: Content-type: multipart/x-mixed-replace;boundary="abcde" --abcde Content-type: text/html --abcde Content-type: application/vnd.fdf Content-Disposition: attachment; filename=foo.fdf file-content --abcde 这在Firefox中有效;它接收到空的HTML文件,触发“加载”事件,然后显示可下载文件的“保存”对话框。但是它在IE和Safari上失败;IE会触发“加载”事件,但不会下载文件,而Safari会下载文件(具有错误的名称和内容类型),并且不会触发“加载”事件。 一种不同的方法可能是调用开始文件创建,然后轮询服务器直到服务器就绪,然后下载已创建的文件。但是我宁愿避免在服务器上创建临时文件。 有谁有更好的主意吗?
487 javascript  http  mime 

9
jQuery获取textarea文本
最近,我开始使用jQuery,并且已经关注了一些教程。现在,我觉得使用它有点能力(这很简单),而且我认为如果能够在网页上制作一个“控制台”,那就太酷了(例如,像在FPS游戏中一样按下“键” ,等),然后将其Ajax本身返回到服务器以进行处理。 我原本以为最好的方法是将文本放入文本区域内,然后将其拆分,或者我应该使用keyup事件,将返回的键码转换为ASCII字符,将该字符附加到字符串中并将该字符串发送到服务器(然后清空字符串)。 我找不到有关从文本区域获取文本的任何信息,我所得到的只是键盘信息。另外,如何将返回的键码转换为ASCII字符?
486 javascript  jquery  ajax 

30
jQuery-$未定义
我有一个简单的jquery click事件 <script type="text/javascript"> $(function() { $('#post').click(function() { alert("test"); }); }); </script> 以及在site.master中定义的jquery引用 <script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script> 我检查了脚本是否已正确解析,可以在Firebug中查看标记并直接查看脚本,因此必须找到我。但是,我仍然得到: $未定义 而且没有一个jQuery的作品。我还尝试了$(document).ready和jQuery等的各种变体。 这是.net 3.5上的MVC 2应用程序,我敢肯定我真的很密集,谷歌上的每个地方都说要检查文件是否正确引用,我已经检查过并再次检查过,请告知!:/

9
为什么jQuery或诸如getElementById之类的DOM方法找不到元素?
什么是可能的原因document.getElementById,$("#id")或任何其他DOM方法/ jQuery选择没有找到的元素? 问题示例包括: jQuery默默地未能绑定事件处理程序 jQuery的“吸气”方法(.val(),.html(),.text())返回undefined 返回标准DOM方法会null导致以下几种错误: 未捕获的TypeError:无法设置为null的属性“ ...”未捕获的TypeError:无法读取为null的属性“ ...” 最常见的形式是: 未捕获的TypeError:无法将属性'onclick'设置为null 未捕获的TypeError:无法读取null的属性'addEventListener' 未捕获的TypeError:无法读取null的属性“样式”
483 javascript  jquery  dom 

17
如何取消选中单选按钮?
我有一组要使用jQuery提交AJAX表单后取消选中的单选按钮。我有以下功能: function clearForm(){ $('#frm input[type="text"]').each(function(){ $(this).val(""); }); $('#frm input[type="radio":checked]').each(function(){ $(this).checked = false; }); } 借助此功能,我可以清除文本框中的值,但不能清除单选按钮的值。 顺便说一句,我也尝试过,$(this).val("");但是那没用。

30
JavaScript私有方法
要使用公共方法创建JavaScript类,我需要执行以下操作: function Restaurant() {} Restaurant.prototype.buy_food = function(){ // something here } Restaurant.prototype.use_restroom = function(){ // something here } 这样,我班的用户可以: var restaurant = new Restaurant(); restaurant.buy_food(); restaurant.use_restroom(); 如何创建可以由buy_food和use_restroom方法调用但不能由类用户在外部调用的私有方法? 换句话说,我希望我的方法实现能够做到: Restaurant.prototype.use_restroom = function() { this.private_stuff(); } 但这不起作用: var r = new Restaurant(); r.private_stuff(); 如何将其定义private_stuff为私有方法,使两者都适用? 我已经读过Doug Crockford的文章几次,但似乎公共方法不能调用“私有”方法,而外部可以调用“特权”方法。


6
使用内容脚本将代码插入页面上下文
我正在学习如何创建Chrome扩展程序。我刚刚开始开发一个捕捉YouTube事件的工具。我想将其与YouTube Flash Player结合使用(稍后,我将尝试使其与HTML5兼容)。 manifest.json: { "name": "MyExtension", "version": "1.0", "description": "Gotta catch Youtube events!", "permissions": ["tabs", "http://*/*"], "content_scripts" : [{ "matches" : [ "www.youtube.com/*"], "js" : ["myScript.js"] }] } myScript.js: function state() { console.log("State Changed!"); } var player = document.getElementById("movie_player"); player.addEventListener("onStateChange", "state"); console.log("Started!"); 问题在于控制台为我提供了“开始!” ,但没有“状态已更改!”当我播放/暂停YouTube视频时。 将此代码放入控制台后,它就可以工作了。我究竟做错了什么?

26
handlebars.js {{#if}}中的逻辑运算符
handlebars JS中是否可以将逻辑运算符合并到标准handlebars.js条件运算符中?像这样: {{#if section1 || section2}} .. content {{/if}} 我知道我可以写我自己的助手,但是首先我想确保我不会重新发明轮子。

14
jQuery AJAX跨域
这是两个页面,test.php和testserver.php。 test.php <script src="scripts/jq.js" type="text/javascript"></script> <script> $(function() { $.ajax({url:"testserver.php", success:function() { alert("Success"); }, error:function() { alert("Error"); }, dataType:"json", type:"get" } )}) </script> testserver.php <?php $arr = array("element1", "element2", array("element31","element32")); $arr['name'] = "response"; echo json_encode($arr); ?> 现在我的问题是:当这两个文件都在同一服务器上(本地主机或Web服务器)时,它可以工作并被alert("Success")调用;如果它在不同的服务器上,则意味着Web服务器上的testserver.php和localhost上的test.php,它不起作用,并且alert("Error")正在执行。即使ajax内的URL更改为http://domain.com/path/to/file/testserver.php


8
HTML5画布与SVG与div
即时创建元素并能够移动元素的最佳方法是什么?例如,假设我要创建一个矩形,圆形和多边形,然后选择这些对象并四处移动。 我了解HTML5提供了三个使之成为可能的元素:svg,canvas和div。对于我想做什么,这些元素中的哪一个将提供最佳性能? 为了比较这些方法,我正在考虑创建三个视觉上相同的网页,每个网页中都有页眉,页脚,小部件和文本内容。第一页中的小部件将完全使用canvas元素创建,第二页中的完全使用svg元素创建,而第三页中的使用简单div元素HTML和CSS创建。

19
jQuery $(document).ready和UpdatePanels?
我正在使用jQuery在UpdatePanel内部的元素上附加一些鼠标悬停效果。事件绑定在中$(document).ready。例如: $(function() { $('div._Foo').bind("mouseover", function(e) { // Do something exciting }); }); 当然,第一次加载页面时此方法工作正常,但是当UpdatePanel执行部分页面更新时,它不会运行,并且鼠标悬停效果在UpdatePanel内部不再起作用。 不仅在首页加载时,而且在每次UpdatePanel触发部分页面更新时,建议在jQuery中进行接线的推荐方法是什么?我应该使用ASP.NET ajax生命周期来代替$(document).ready吗?

10
AngularJS:使用异步数据初始化服务
我有一个AngularJS服务,我想使用一些异步数据进行初始化。像这样: myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); 显然,这是行不通的,因为如果doStuff()在myData返回之前尝试进行调用,我将得到一个空指针异常。据我从阅读这里和这里提出的其他一些问题中所知道的,我有一些选择,但是它们似乎都不是很干净(也许我错过了一些东西): 安装服务“运行” 设置我的应用时,请执行以下操作: myApp.run(function ($http, MyService) { $http.get('data.json').success(function (data) { MyService.setData(data); }); }); 然后我的服务将如下所示: myModule.service('MyService', function() …

15
href与onclick中的JavaScript函数
我想在单击时运行一个简单的JavaScript函数,而无需任何重定向。 将JavaScript调用放入href属性之间有什么区别或好处(例如: <a href="javascript:my_function();window.print();">....</a> )与将其放入onclick属性(将其绑定到onclick事件)?
474 javascript  href 

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.