在Java中,查看NamedNodeMap接口,如何使用泛型进行迭代?它似乎使用Node而不是String,但我不太确定如何使用Node对象......
NamedNodeMap namedNodeMap = doc.getAttributes();
Map<String, String> stringMap = (Map<String, String>) namedNodeMap;
for (Map.Entry<String, String> entry : stringMap.entrySet()) {
//key,value stuff here
}
Run Code Online (Sandbox Code Playgroud)
是的,我可以看到如何迭代而不使用泛型和常规for循环,但我想使用上面的?成语?对于地图.当然,问题似乎是,尽管名称,NamedNodeMap实际上并没有实现Map接口!:(
猜猜你只需要咬紧牙关,做一些像:
/*
* Iterates through the node attribute map, else we need to specify specific
* attribute values to pull and they could be of an unknown type
*/
private void iterate(NamedNodeMap attributesList) {
for (int j = 0; j < attributesList.getLength(); j++) {
System.out.println("Attribute: "
+ attributesList.item(j).getNodeName() + " = "
+ attributesList.item(j).getNodeValue()); …Run Code Online (Sandbox Code Playgroud) 我理解为什么浏览器供应商不想帮我阻止他们的UI线程.但是,我不明白为什么会有:
有一个同步的FileSystem API.还有一个同步的IndexedDB API.对我来说,这似乎是一个矛盾.
在什么情况下,我们应该去<dl>不<ul>?
屏幕阅读器用户<ul>或<dl>?没有有关内容是读屏软件用户通知<ul>或<dl>?
我读到自闭项标签在某些浏览器中存在问题,例如IE7和Firefox 3:为什么自动关闭脚本标签不起作用?
我很好奇这个问题是否也适用于链接样式表.
例如使用
<link href="/css/style.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
代替
<link href="/css/style.css" rel="stylesheet" type="text/css"></link>
Run Code Online (Sandbox Code Playgroud) W3C "与HTML4的HTML5差异"工作草案指出:
对于HTML语法,作者需要声明字符编码.
"必需"是什么意思?
显然,浏览器仍然会在没有charset元标记的情况下呈现HTML5.如果未指定编码,浏览器将使用哪种编码?
基本上,我想知道是否确实需要包含<meta charset="">,或者99%的浏览器是否会使用正确的编码.
Eric meyer重置css表示"表格仍然需要'cellspacing ="0"'在标记中".有必要吗?什么是好处border-collapse: collapse; 和border-spacing: 0;?
并且它只建议使用cellspacing,而table有另一个叫做cellpadding的属性?
/* tables still need 'cellspacing="0"' in the markup */
table {
border-collapse: collapse;
border-spacing: 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在研究使用浏览器sessionStorage的Web应用程序,并试图找到有关大小限制的当前信息.似乎大多数桌面浏览器都施加了5MB的限制.但是,我没有找到很多最近的文章,也没有关于移动浏览器的信息.
W3C Web存储规范的磁盘空间表示"建议每个源最多5个兆字节的限制.欢迎实施反馈,并将在未来更新此建议."
localstorage的QuirksMode HTML5兼容性页面于2009年6月12日进行了最后一次重大更新,仅包括去年当前浏览器的数据:IE8,FF 3.5b4,Saf 4,Chrome 2.
根据DOM存储简介,IE8"允许Web应用程序存储近10 MB的用户数据." sessionStorage简介似乎证实"Firefox和Safari的存储限制是每个域5MB,Internet Explorer的限制是每个域10 MB."
Web存储:来自Opera开发人员站点的更简单,更强大的客户端数据存储说:"截至目前,大多数已实现Web存储的浏览器(包括Opera)都将存储限制设置为每个域5 Mb."
最近的铬问题(#42740)在会话存储上增加了5mb的配额.
第5章客户端数据存储从建筑iPhone应用程序使用HTML,CSS和JavaScript状态"在写这篇文章的时候,为的localStorage和sessionStorage的浏览器大小的限制仍然在变化."
问题:根据这些信息,我应该假设5MB是限制还是我应该花时间测试不同的浏览器?有没有人知道有这些结果的现有测试套件(la Browserscope)?
我很好奇人们在Ajax Web应用程序中在运行时替换整个文档的经历.这种情况很少见,但我发现应用程序需要整个页面重建的一些情况,并且所有内容都存在于本地而无需另外的服务器往返.
我可以很容易地准备新的文档或者一个新的DOM树或字符串.所以我正在评估各种方法的权衡.
如果我想使用String方法,这似乎工作:
document.open();
document.write(newStringDoc);
document.close();
Run Code Online (Sandbox Code Playgroud)
大多数浏览器都做得很好,但很多浏览器在重新渲染时会有轻微的闪烁.我注意到,第二次通过Firefox 4.0b7只会坐在那里旋转,好像它正在加载.点击位置栏上的停止按钮似乎完成了页面渲染.(编辑:这似乎在4.0b8中修复)此外,此方法似乎阻止用户点击刷新以重新加载当前URL(它重新加载动态生成的页面).
如果我使用新的DOM树方法(在灵活性和速度方面有不同的优点/缺点),那么这似乎有效:
document.replaceChild(newDomDoc, document.documentElement);
Run Code Online (Sandbox Code Playgroud)
大多数浏览器似乎完全没有闪烁处理这个.不幸的是,IE9 beta会抛出"DOM Exception:HIERARCHY_REQUEST_ERR(3)" replaceChild并且永远不会完成.我还没有尝试过最新的预览版本,看看这是否只是一个修复过的新bug.(编辑:这似乎是在RC1中修复的.)
我的问题:有没有人采用与其中任何一种不同的方法?有没有人有任何其他警告,或许某个浏览器从根本上打破了这些方法之一?
更新:也许这将增加背景并有助于想象力.考虑应用程序脱机的情况.没有可用于重定向或刷新的服务器.应用程序的必要状态已经加载(或存储)在客户端.UI由客户端模板构成.
我相信Gmail会使用嵌入在根文档中的iframe.看来,至少其中一些iframe的起始文档只是一个裸HTML5文档,然后父文档才会操作.
使用iframe将是替换当前文档的替代整个子iframe或仅替换其文档的另一种变体.虽然将新文档附加到iframe的方法存在同样的情况.
CSS3过渡,变换和动画都很精彩.现在更多的浏览器支持它们.
还有一件事我一直在问自己:为什么规范不确定CSS3过渡和动画应该处理高度:自动?
当我们使用CSS3灵活的盒子模型和媒体查询之类的东西摆脱固定布局时,它没有任何意义.
使用JavaScript只是为了设置具有固定高度的CSS转换没有任何意义.
现在我的问题是:
W3C是否会指定高度:自动应支持CSS3过渡和动画,还是我们可以请求它们指定这个?
我正在阅读这篇关于使用html表单发布JSON数据的w3c文档,并尝试对其进行测试.
我的测试表格如下:
<form action="postjson.php" method="POST" enctype="application/json">
<input type="hidden" name="touser" value="shenkwen" />
<input type="hidden" name="msgtype" value="text" />
<input type="hidden" name="agentid" value="23" />
<input type="hidden" name="text[content]" value="test message" />
<input type='submit' value="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
和内容 postjson.php
<?php var_dump($_POST);
Run Code Online (Sandbox Code Playgroud)
我期待$ _POST的值是一个JSON字符串,但是,它只是一个普通的PHP对象:
array(4) { ["touser"]=> string(8) "shenkwen" ["msgtype"]=> string(4) "text" ["agentid"]=> string(2) "23" ["text"]=> array(1) { ["content"]=> string(33) "test message" } }
Run Code Online (Sandbox Code Playgroud)
我尝试删除enctype属性,输出完全相同.然后我回到文档页面,注意到它说明了这个标准可能没有效果.
所以这也是一个关于如何使用W3C网站的问题,在我看来,它上面的一些页面只是草稿.这个页面是草案吗?当我在w3c上阅读页面时,如何判断它是草稿还是工作标准?最后也是最重要的是,enctype='application/json'工作与否?