Tag: html5

pushState()和popState():操纵浏览器的历史记录

我正在开发一个小项目,我想在其中创建一个Ajax风格的网站。 内容加载了jQuery的load() 。 正如你们中的一些人所知,这样做的缺点是URL不会相应地改变显示的内容。 要使这项工作,您可以使用pushState() 。 因为这不支持跨浏览器,所以我使用了插件history.js 。 这很好用,但问题是我的后退和前进按钮不能正常工作,我不知道我做错了什么。 URL正在正确更改,内容也是如此,但标题根本没有变化。 对于标题,我的意思是显示为浏览器窗口的窗口(或标签)的标题。 即加载页面的或引用该页面的链接的title属性(它们是相同的)。 我认为这与我只调用我需要标题的页面部分(即通过向load()添加#content load()这一事实有关。 我仍然想要那个页面的标题。 这是我到目前为止的一个测试案例。 (自2013年12月28日起不再提供。)jQuery文件: $(document).ready(function () { var firstLink = $(“ul > li:first-child > a”); var menuLink = $(“ul > li > a”); var firstLoadedHtml = firstLink.attr(“href”) + ” #content”; $(“#sectionContainer”).hide().load(firstLoadedHtml).fadeIn(“fast”); firstLink.addClass(“active”); menuLink.click(function(e) { history.pushState(null, null, this.href); e.preventDefault(); e.stopImmediatePropagation(); var CurLink = […]

如何检查不包含提交按钮的HTML5表单的有效性?

我有以下代码示例在浏览器中工作,检查他们何时在输入上看到HTML5“required”,如此处的电子邮件: Email: ​ 这是上面的小提琴 。 但是在我的应用程序中,我在表单外部使用了一个按钮 ,以下代码附加到该按钮的click事件: if (!$form.valid || $form.valid()) { $submitBt .disableBt(); $modal .removeBlockMessages() .blockMessage(‘Contacting Server, please wait … ‘, { type: ‘loading’ }); $.ajax({ url: href, dataType: ‘json’, type: ‘POST’, data: $form.serializeArray() }) .done(onDone) .fail(onFail); } 我这里有两个问题: 以下代码的作用是什么:(!$ form.valid || $ form.valid()) 如何使用新的HTML5检查检查表单有效性?

我是否必须为每个页面创建一个新面板?

我想在jqm网站中使用Panel来选择我的选择语言组件。 因此,每个页面都需要存在该组件。 以下是单页面板的设置。 来自jquerymobile.com (…我添加了一个标题按钮) choose language 我认为我有3个解决方案: A – 在每个页面上创建面板的副本—-如果page_N上的状态发生变化,那么这将是一个问题,那么所有其他的都需要同步 B – 创建一个在页面更改时以编程方式移动的单个面板 – 这看起来像是一个黑客 C – 发现jqm是否已经解决了这个问题—-因此我问的问题:) jqm有办法将Panel从一个页面移动到另一个页面吗?

适用于所有浏览器的语音识别API

我见过Google Speech API,它只适用于chrome 25+版本,HTML5 Speech API也只适用于chrome。 我想知道是否有任何好的Javascript / Jquery API,以便我可以用它来处理我的项目。 如果有人能帮助我,那将是伟大的。 我正在搜索很多,但所有的例子都使用谷歌语音API。 我更喜欢Javascript API,但如果我甚至可以获得C#或PHP API并且在所有浏览器上工作也应该没问题。 提前致谢

旋转后,在正确的位置绘制图像

如您所见,我尝试在canvas中旋转图像: https://jsfiddle.net/1a7wpsp8/4/ 因为我在[0, image_height]周围旋转了图像[0, image_height]图像信息丢失了。 缺少部分头部,并且“canvas”的高度现在变小,以显示整个旋转图像。 为了解决这个问题,我想我必须将旋转原点更多地向右移动并增加canvas高度。 我添加了一个方法,以特定的角度获取原点周围的旋转点: function rotate(x, y, a) { var cos = Math.cos, sin = Math.sin, a = a * Math.PI / 180, xr = x * cos(a) – y * sin(a); yr = x * sin(a) + y * cos(a); return [xr, yr]; } 有了这个我试图计算新的旋转原点,但失败了。 旋转图像的首选方法是什么? 如何在canvas上显示完整图像,没有红色边框? 谢谢https://jsfiddle.net/1a7wpsp8/4/

html5的文件api与jquery的例子?

我想使用html5的文件api,结合外部拖放function(将外部文件拖到指定的位置并捕获其内容)和jquery。 我找到了一个有效的非jquery示例:( html5 demo:file api ) var drop = document.getElementById(‘drop’); drop.ondragover = function () {this.className = ‘focus’; return false;}; drop.ondragend = function () { this.className = ”; return false; }; drop.ondrop=function(e) { this.className = ”; e.preventDefault(); var file = e.dataTransfer.files[0]; var reader = new FileReader(); reader.onload = function (evt) { console.log(evt.target.result); } reader.readAsText(file); }; 这很好用。 […]

IE9 – 函数错误:’ArrayBuffer’未定义ReferenceError:’ArrayBuffer’未定义

我已经创建了一个下载pdf的应用程序。 pdf基于html表。 应用程序在所有浏览器中都运行良好,但是当我在IE9中运行时,我Error in function : ‘ArrayBuffer’ is undefined ReferenceError: ‘ArrayBuffer’ is undefined遇到Error in function : ‘ArrayBuffer’ is undefined ReferenceError: ‘ArrayBuffer’ is undefined 。 由于IE9是基于HTML5的浏览器,jspdf应该可以工作。 工作演示 function demoFromHTML() { var pdf = new jsPDF(‘p’, ‘pt’, ‘letter’); pdf.cellInitialize(); pdf.setFontSize(10); $.each($(‘#customers tr’), function (i, row) { if ($(row).text().trim().length !== 0) { $.each($(row).find(“td, th”), function (j, cell) { […]

用户向上/向下滚动时如何隐藏/显示导航栏

用户向上/向下滚动时隐藏/显示导航栏 以下是我想要实现的示例: http : //haraldurthorleifsson.com/或http://www.teehanlax.com/story/readability/ 向下滚动时导航栏在屏幕上向上滑动,向上滚动时向下滑动到屏幕上。 我已经想出如何使用淡入/淡出来实现它,但我想用与示例中完全相同的动画来实现它。 注意:我已经尝试过SlideIn(),就像它进行拉伸动画一样…… JQUERY: var previousScroll = 0, headerOrgOffset = $(‘#header’).offset().top; $(‘#header-wrap’).height($(‘#header’).height()); $(window).scroll(function() { var currentScroll = $(this).scrollTop(); console.log(currentScroll + ” and ” + previousScroll + ” and ” + headerOrgOffset); if(currentScroll > headerOrgOffset) { if (currentScroll > previousScroll) { $(‘#header’).fadeOut(); } else { $(‘#header’).fadeIn(); $(‘#header’).addClass(‘fixed’); } } else { […]

数字输入滚动的HTML5事件监听器 – 仅限Chrome

我正在玩一些HTML5元素,并遇到了一个有趣的行为。 这仅适用于Chrome。 使用输入类型的数字,您可以设置最小值,最大值和步长,并使用向上和向下箭头来控制输入。 我发现绑定一个click事件监听器会捕获箭头上的按下,因为在字段模糊之前实际上不会发生更改。 您还可以使用键盘上的向上和向下箭头键来更改限制范围内的值,按键绑定可以选择这些键。 但是,在Chrome中,您还可以通过将鼠标hover在输入和滚动上来使用鼠标滚轮来更改输入。 但是,我无法找到听取此事件的方法。 关于jsfiddle的例子 HTML: JavaScript(使用jQuery): $( ‘#test’ ).click(function(){ $( this ).after( ‘click’ ); }); $( ‘#test’ ).change(function(){ $( this ).after( ‘change’ ); }); $( ‘#test’ ).keypress(function(){ $( this ).after( ‘keypress’ ); }); 关于如何听取滚动更改的任何想法? 同样,这只适用于撰写本文时的Chrome。

使用HTML和JavaScript在本地存储数据

我有一台带有一些电脑的小型局域网。 我正在寻找一种方法来构建一个动态HTML网页,该网页使用JavaScript在本地存储一些数据(不能使用服务器端 – 仅客户端)。 该网页将存储在与所有计算机共享的网络驱动器上。 我希望使用一个文件,可能是一个XML文件或类似的东西,使用JavaScript加载,然后在一些更改后再次保存。 必须与LAN上的所有计算机共享数据。 我怎样才能做到这一点?