Tag: html5

JavaScript / HTML5 / jQuery拖放上传 – “未捕获的TypeError:无法读取未定义的属性’文件’”

在我有限制的JavaScript经验之前,我会告诉你。 目前,我有JavaScript代码: $(‘#xhr-filebox’).bind({ “dragover”: HandleDragEvent, “dragleave”: HandleDragEvent, “drop”: HandleDropEvent }); function HandleDropEvent(e){ var files = e.target.files || e.dataTransfer.files; UploadFile(files[0]); } (省略了一些代码,但如果你要求,我会添加更多代码) ……和HTML: …or click me to pick one. 但是,当我将文件拖入其中时,Chrome JS控制台会说: 未捕获的TypeError:无法读取未定义的属性“文件” 但是,从文件输入读取时,它可以获取FileList对象。 奇怪的是,当我记录事件参数(console.log(e))时,它将其记录为f.event,而在我的类似脚本中,它将其记录为MouseEvent(屏幕截图: http://i.stack.imgur .com / 3krcT.png ) 与jQuery中的bind()函数不同,它使用getElementById()返回的DOM对象的addEventListener()函数,IE这是纯JavaScript。 我尝试过这种方法,但没有新的事情发生。

如何创建“显示更多”按钮并指定最初显示的文本行数

我正在寻找一种方法来在我的响应式网站上创建一个幻灯片“显示更多”function,该function会在两个段落之后切断。 我之前使用静态网站实现了这一点,通过对容器应用设置高度并使用overflow: hidden ,然后设置容器高度的动画。 但是响应时,容器会以不同的浏览器宽度压缩文本,因此文本可能占用更多/更少的空间。 此外,每次推送时,段落上方可能会有不同的内容。 因此设置height可能不会完全覆盖两条线。 如果你需要演示,请查看这个jsFiddle: http : //jsfiddle.net/XVAzU/ 。 所以我需要在段落的两行之后切断,无论容器的宽度是多少,或者在该段落之前或之后。 谢谢你的期待!

如何在Slick轮播项目之间添加空格

我想在两个光滑的轮播项目之间添加空间,但不希望空间有填充,因为它减少了我的元素大小(我不想那样)。 $(‘.single-item’).slick({ initialSlide: 3, infinite: false }); .slick-slider { margin:0 -15px; } .slick-slide { padding:10px; background-color:red; text-align:center; margin-right:15px; margin-left:15px; } 1 2 3 4 5 6 不知何故,我从两边获得空间,我试图删除它。

即使浏览器支持html5video,也会显示后备图像

这可能听起来很奇怪,但在这种情况下我还可以显示后备图像吗? 由于移动设备(Android和iOS)中的video元素会在点击时打开其原生video播放器应用,因此我想为Android和iOS显示video的GIF版本(我将其作为后备图片放置)。 我知道如何通过Javascript检测浏览器是否可移动,我只需要一些关于最佳实践的建议。 我在做什么 然后在js if(site.isMobile()){ $(‘video’).hide(); $(‘video img’).show(); } 当然,由于img是在video内部,它不起作用。 我想我可以克隆img并将其附加到video元素之前然后隐藏video元素,如下所示: if(site.isMobile()){ $(‘video img’).clone().prependTo(‘video’); // just some pseudocode $(‘video’).hide(); } 这是一个好习惯吗? 有没有更简单的解决方案?

如何在IE 8中“启用”由AJAX调用插入的HTML5元素?

请参阅问题底部的解决方案。 IE 8(及更低版本)不适用于未知元素(即HTML5元素),无法设置样式或访问其大部分道具。 他们为此做了大量的工作,例如: http : //remysharp.com/2009/01/07/html5-enabling-script/ 问题是这对于页面加载时可用的静态HTML非常HTMLUnknownElement ,但是当之后创建HTML5元素时(例如包含它们的AJAX调用,或者只是用JS创建),它会将这些新添加的元素标记为HTMLUnknownElement as应该是HTMLGenericElement (在IE调试器中)。 有没有人知道如何解决这个问题,以便IE 8能够识别/启用新添加的元素? 这是一个测试页面: TIME TEST some time $(“time”).text(“WORKS GREAT”); $(“body”).append(“NEW ELEMENT”); //simulates AJAX callback insertion $(“time”).text(“UPDATE”); 在IE中,您将看到:UPDATE和NEW ELEMENT。 在任何其他现代浏览器中,您将看到UPDATE和UPDATE

Javascript函数将基础64图像旋转X度并返回新的base64

我想要一个javascript函数,它将base64图像旋转X度并返回新的base64图像。 示例我希望用以下内容调用函数: var newImg = rotateImg(imageData,90); //应返回旋转90度的原始图像的base64字符串。 (底部示例base64图像字符串) 理想情况下,该function将向后兼容非html5浏览器,但为了简单起见,欢迎使用纯canvas解决方案。 我已经和它斗争了好几天。 我理解解决方案可能是,用原始字符串加载图像对象,创建临时canvas对象和上下文,然后旋转上下文,然后将canvas转换回图像字符串,但只是可以让它工作….请帮助! 示例图像字符串: 数据:图像/ PNG; BASE64,iVBORw0KGgoAAAANSUhEUgAAACIAAABBCAMAAACD + YYEAAAABGdBTUEAALGPC / xhBQAAAwBQTFRFpI8jl5FIn5V0paijNzAfJiIavsHNlpabcnB6iH0XZ2Z4gH6BnJM2paSHu7NVoqGdoi8pRDwnnz40vrl4qJtgpqKNg3pRoJBL8 + UJPj08nJeCNCkQhWgG5erh0q2RxcnKyYcT8POb391VRTAE + / rqzsqsqZ8xsaBa38sVgXU0jI6SpKKUdlpLk4VEfXAcjId2UFBMo5tc5bwCdX6noJtzwLIkkYAvmI5fu61GfnlMjn4Y39gPeXJVlY99gYKNb19afnli186St58T0cUPV09Azb8fX1w / nJqdp5s3dGtHMzhLGRcex8Fk4tZspoYSdnNxpKBxko51tKRg5d6Ig4B1181vX2BgFxEQWFE8W1dDiYuVdG5l5NQyraqZa2lmamppY15AgH5shYN8d3NocG1feXhyAAAA15Bry6847fPEPEWJv0E28 + ZTw76K / txB3cpM3NvAkpKecVsJjouKXGKJ9 + Io7ezNnqGts69tf3pT9vOt / vYY9d46 / uwVHx0mZm6hv6AmmZJh8uWS5t6jYWd78e2RVEQQ7 + qzCQ9JsrCY7dlNVVVapZIq / PMw1rkI7eVzxrgM7u4Ih24lg30UYl0krp5HnpqI0sdhzKEM3tWEj4tp7uiE69dY3MEKxsB6 // 2zz8JRKjBW / fdZXlpFua0O / TSM / 9IB / + 5oLB0B / O0D // 7cxq8h8t4DSk9sBgII7NkL […]

通过Javascript将二进制数据下载为文件

我正在对返回二进制数据的API进行ajax调用。 我想知道是否有可能获取二进制数据并在新窗口中为客户端显示它? 这就是我现在正在做的事情。 问题是,文档打开了,但它完全是空白的。 $.ajax({ type: “POST”, url: apiURL, data: xmlRequest, complete: function(xhr, status) { var bb = new window.WebKitBlobBuilder(); // Append the binary data to the blob bb.append(xhr.responseText); var blobURL = window.webkitURL.createObjectURL(bb.getBlob(‘application/pdf’)); window.open(blobURL); } }); 有任何想法吗?

jquery.history.js VS jquery-hashchange

见http://balupton.github.io/jquery-history/demo/ 我被jquery.history.js吸引了 我发现的意思是 http://benalman.com/code/projects/jquery-hashchange/examples/document_domain/ 我认为第二个是基于JQuery。 我的意思是它不需要任何额外的插件而不是jQuery。 jquery.history.js有什么特别之处? 哈希变化? 我应该使用哪个来覆盖我的浏览器后退和前进按钮?

如何在ASP.NET MVC中处理HTML5多文件上传?

我找到了以下很棒的主题 ,并解释了如何使用新的HTML5 FormData API通过AJAX / Jquery进行文件上传 这是该代码的略微更新版本,使用较新的JQuery 1.8+语法 $(‘:button’).click(function(){ var formData = new FormData($(‘form’)[0]); $.ajax({ url: ‘/Upload’, //my ASP.NET MVC method type: ‘POST’, // handle the progress report xhr: function() { // Custom XMLHttpRequest var myXhr = $.ajaxSettings.xhr(); if(myXhr.upload){ // Check if upload property exists myXhr.upload.addEventListener(‘progress’,progressHandlingFunction, false); // For handling the progress of the upload […]

检查是否连接到网络; jQuery的

我已经搜索了StackOverflow并且已经看到了关于如何执行此操作的各种主题,但没有任何真正与我的特定情况相关的内容。 我正在编写(用于类)移动“应用程序”(使用HTML5,CSS,jQuery)。 它最终将成为一个独立的“应用程序”,它将包含所有所需文件的本地副本。 在我的一个页面上,我有一个提交表单,由于用户在离线时无法提交表单,我希望将该页面重定向到自定义404页面。 我只是在寻找是否有办法在jQuery中实现这一点,因为我还没有找到任何东西。 谢谢