Tag: html5

在什么情况下,AJAX长/短轮询比HTML5 WebSockets更受欢迎?

我正在为朋友构build一个小型聊天应用程序,但不确定如何及时获取信息,而不是像手动或基本不强迫刷新页面一样。 目前,我正在使用简单的AJAX来实现这个function,但是这有一个缺点,就是在短暂的计时器耗尽之后,会定期打到服务器。 在研究长/短轮询时,我碰到了HTML5 WebSockets。 这似乎很容易实现,但我不确定是否有一些隐藏的缺点。 例如,我认为WebSockets只支持某些浏览器。 WebSockets还有其他的缺点,我应该知道吗? 既然看起来两种技术都是一样的,那么在哪种情况下,人们更喜欢使用一种技术呢? 更具体地说,HTML5 WebSockets是否使得AJAX长/短轮询过时,或者有更好的理由来selectAJAX而不是WebSockets?

跨域iframe问题

比如说,我有一个名为example.com的网站,其中iframeembedded了域名iframe.net,现在我想要读取iframe的内容并传递一些参数来显示文本消息。 喜欢与用户名。 现在的问题是,这两个之间无法build立连接,即使我无法获得我使用iframe的innerHTML方法 document.getElementById('myframe').contentWindow.document.body.innerHTML; 它会抛出错误“权限被拒绝访问属性” 有谁知道如何读写跨平台的平台

如何将HTML5 Canvas作为图像保存在服务器上?

我正在创作一个生成艺术项目,我想让用户从algorithm中保存所得到的图像。 总体思路是: 使用生成algorithm在HTML5 Canvas上创build图像 图像完成后,允许用户将canvas作为图像文件保存到服务器 允许用户下载图像或将其添加到使用algorithm生成的图片库中。 但是,我被困在第二步。 在Google的一些帮助之后,我发现了这个博客post ,这个博客似乎正是我想要的: 这导致了JavaScript代码: function saveImage() { var canvasData = canvas.toDataURL("image/png"); var ajax = new XMLHttpRequest(); ajax.open("POST", "testSave.php", false); ajax.onreadystatechange = function() { console.log(ajax.responseText); } ajax.setRequestHeader("Content-Type", "application/upload"); ajax.send("imgData=" + canvasData); } 和相应的PHP(testSave.php): <?php if (isset($GLOBALS["HTTP_RAW_POST_DATA"])) { $imageData = $GLOBALS['HTTP_RAW_POST_DATA']; $filteredData = substr($imageData, strpos($imageData, ",") + 1); $unencodedData = base64_decode($filteredData); […]

使用CSS时canvas拉伸,但使用“宽度”/“高度”属性正常

我有2个canvas,一个使用HTML属性的width和height来设置它的尺寸,另一个使用CSS: <canvas id="compteur1" width="300" height="300" onmousedown="compteurClick(this.id);"></canvas> <canvas id="compteur2" style="width: 300px; height: 300px;" onmousedown="compteurClick(this.id);"></canvas> Compteur1显示它应该,但不compteur2。 内容在300×300的canvas上使用JavaScript绘制。 为什么有显示差异?

重新加载页面给AngularJS HTML5模式提供了错误的GET请求

我想为我的应用程序启用HTML5模式。 我已经把下面的代码放在configuration中,如下所示: return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) { $locationProvider.html5Mode(true); $locationProvider.hashPrefix = '!'; $routeProvider.when('/', { templateUrl: '/views/index.html', controller: 'indexCtrl' }); $routeProvider.when('/about',{ templateUrl: '/views/about.html', controller: 'AboutCtrl' }); 正如你所看到的,我使用了$locationProvider.html5mode并且在ng-ref中我改变了所有的链接来排除/#/ 。 问题 目前,我可以去localhost:9000/并看到索引页面,并导航到其他页面,如localhost:9000/about 。 但是,刷新localhost:9000/about页面时会发生此问题。 我得到以下输出: Cannot GET /about 如果我看networking电话: Request URL:localhost:9000/about Request Method:GET 而如果我第一次去localhost:9000/然后点击一个button导航到/about我得到: Request URL:http://localhost:9000/views/about.html 它使页面完美呈现。 我怎样才能启用angular度得到正确的页面,当我刷新? 先谢谢你。

具有“名称”或“ID”的HTML锚点?

当有人想用“ http://example.com/#foo ”方法引用网页的某个部分时,应该使用 <h1><a name="foo"/>Foo Title</h1> 要么 <h1 id="foo">Foo Title</h1> 他们都工作,但他们是平等的,还是他们有语义上的差异?

如何为“select”框创build一个占位符?

我正在使用占位符的文本input工作正常。 但是我想为我的select框使用一个占位符。 当然,我可以使用这个代码: <select> <option value="">Select your option</option> <option value="hurr">Durr</option> </select> 但是“select你的select”是黑色而不是浅灰色。 所以我的解决scheme可能是基于CSS的。 jQuery也很好。 这只会使下拉选项变灰(所以点击箭头后): option:first { color: #999; } 编辑:问题是:人们如何在select框中创build占位符? 但已经回答了,欢呼声。 并使用这个结果在选定的值总是灰色的(即使在select一个实际的选项后): select { color:#999; }

如何清除canvas重绘

在实验完成复合操作并在canvas上绘制图像后,我正在尝试删除图像和合成。 我如何做到这一点? 我需要清除canvas重绘其他图像; 这可能会持续一段时间,所以我不认为每次绘制一个新的矩形将是最有效的select。

localStorage值的最大值是多less?

由于localStorage (当前)只支持string作为值,为了做到这一点,对象需要在被存储之前被string化(存储为JSONstring),是否存在对值长度的限定。 有谁知道是否有一个适用于所有浏览器的定义?

jQuery的附加不工作与SVG元素?

假设: <html> <head> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("svg").append('<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red"/>'); }); </script> </head> <body> <svg xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 100" width="200px" height="100px"> </svg> </body> 为什么我什么都看不到