作为一个试图找到一种方法来帮助内容作者通过创建(HTML)组件多年来开发和维护大型网站的人,我很高兴看到Web组件在w3c,google和mozilla上获得了关注.但在我看来,在规范中没有针对javascript库膨胀的措施.
假设我开发的组件A
具有依赖性underscore.js
并且想要使用组件B
并且C
依赖于lodash.js
版本1.*等.
我没有看到任何标记依赖项和库版本的方法.当我们谈论有多个团队和利益相关者的网站时,这可能会导致巨大的图书馆膨胀.
目前的解决方案是在全球范围内对整个网站的批发客户框架进行标准化.当您在不同的服务器端框架LifeRay
(如(java),EpiServer
(.net),Django
(python)等)中投入大量资源时,这很困难,每个框架都有首选的客户端库.
我认为Web组件是将服务器端框架与客户端代码分离的一种手段,但遗漏客户端依赖项处理是令人担忧的.
它是否符合规范,我已经错过了,或者是否有减轻这个问题的策略,我不知道?
[图书馆提到的只是示例.问题与框架,图书馆和服务器端语言无关]
更新 感谢大家回答.我很惊讶没有人提到Mozilla X-Tag或Google Polymer,这些都是最近的炒作.我完全接受了影子DOM,范围样式,自定义元素等的想法,但我没有看到任何关于如何处理JavaScript依赖关系的提及.正如@ Daniel-Baulig正确地写道,HTML Imports根本没有提到JavaScript.我承认这个问题几乎无法回答.但是,当他提到ES6模块时,我认为@ Daniel-Bailig是最接近的.我个人认为我们会在ES6模块和require.js之间找到一个可持续的解决方案.
javascript web-standards decoupling dependency-management web-component
我想在我的应用程序中添加原生日期选择器,该应用程序目前使用传统的自制系统.日期输入支持并不普遍,但如果我可以基于兼容性呈现两种实现,那将是理想的.
有没有办法指定HTML datepicker给出的值的输出?opera的默认值是yyyy-mm-dd
,我非常需要dd-MMM-yyyy
.
目前有没有办法控制这个输出?
我注意到许多网站,甚至谷歌和一些银行网站都有写得不好的HTML,没有关于属性值的引号,或者使用诸如&符号之类的字符未在链接中正确转义.换句话说,许多人使用无法验证的标记.
我很好奇他们的原因.HTML有简单的规则,它们似乎并不遵循这些规则,这令人难以置信.或者他们使用的程序只是吐出代码?
哪个更具语义性和有效性?
<td>
<p>
content text
</p>
</td>
Run Code Online (Sandbox Code Playgroud)
要么
<td>
content text
</td>
Run Code Online (Sandbox Code Playgroud) 在具有共享相同名称属性的输入字段的页面上具有多个HTML表单是否可接受?例如,该页面包含所有玩家的列表,并且允许用户投票选出最佳玩家,因此每个玩家卡旁边都有以下形式:
<form class="vote-for-player" enctype="application/x-www-form-urlencoded" method="post" action="/index/vote-for-best-player">
<input type="hidden" name="player_id" value="1" />
<input type="submit" name="vote_for_player" value="Vote" class="input-submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
当然,隐藏输入字段的值属性对于每种形式是不同的.
假设页面上有20个这样的表单,这意味着20个输入字段的名称等于"player_id".如果我通过HTML验证器传递该页面,即使使用XHTML 1.0 Strict doctype,它也是有效的.但从Web标准或可访问性的角度来看,这是一种可接受的做法吗?
有一件事我肯定知道,它使得服务器端页面处理变得更容易,因为我只需要从名为player_id的一个POST字段加载值.
我与一位同事讨论了"网络标准"在表格中取消的含义.在我们的讨论中,我们以"更改密码"页面为例.我们有一个设计的"发送"按钮和"取消"按钮.两者都是相同的设计.
他声称,在网络标准中,取消按钮不再是按钮,而是将用户转移到另一个页面的链接.在我看来,对于那些页,包括一个取消按钮,它实际上是一个取消按钮,或者重置表单和/或用户发送到预知页面.
谁是对的?链接或按钮......或两者兼而有之?为什么?是否有决定这种标准的链接?
Br,
Paul Peelen
编辑 我想大多数选票的回答都是"正确答案"?
我理解为什么浏览器供应商不想帮我阻止他们的UI线程.但是,我不明白为什么会有:
有一个同步的FileSystem API.还有一个同步的IndexedDB API.对我来说,这似乎是一个矛盾.
什么参考文献提供了使用RDF/OWL的好的总结/教程?似乎有足够的工具(Protege,Topbraid,Jena等)知道标记语言的语法是不必要的,但当然,了解这些概念仍然是至关重要的.
我正在研究w3c文档(特别是RDF Primer),但我也想找到其他资源/技术.
我遇到过各种各样的帖子,人们都说这是负面的利润.因此,当我可以合理地使用它们时,我已经偏离使用它们,特殊情况除外,例如将文本从屏幕上抛出margin:-9999px
问题是,负利润是一个黑客,什么时候使用负边际是正确的?我已经看到它们用在960网格系统中,.push
以及.pull
任何其他可以合理使用的情况?!?!
我无法找到以下的授权解释,微格式或指南,所以我把它打开了.如果我错过了什么,请说出来!
假设您有一个HTML页面,其中包含<pre>
元素中某些编程源代码的示例:
<pre>
# code...
</pre>
Run Code Online (Sandbox Code Playgroud)
(更新:正如Pekka在下面指出的那样,<code>
可能会比<pre>
以下示例/讨论更好.但正如Brian Campbell指出这两个元素当然应该用于预先格式化的代码)
<pre>
块的内容是什么?这将是以语义一致的方式包含在标记中的有用信息.
从语义的角度来看,明显的选择是使用lang
属性:
<pre lang="ruby">
Run Code Online (Sandbox Code Playgroud)
但根据HTML 4规范,第8.1.1节:
lang属性的值是标识自然语言的语言代码[...]计算机语言明确地从语言代码中排除.
(强调我的)
此外,"ruby"无论如何都不是标准的语言代码.
该规范允许使用x
主标记添加"实验"或"私人使用"代码.规范的例子是lang="x-klingon"
.
从理论上讲,你可以使用x-ruby
,x-java
等等来声明<pre>
块中包含的lang
编程语言- 除了看起来一般情况下使用该属性编程语言的规范.
关于该主题的HTML 5规范并没有更清楚.规范本身没有明确提到"自然"与"编程"语言.相反,它将读者引用到BCP 47,它再次声明:
语言标签用于帮助识别语言[...],但不包括主要用于人类交流的语言,例如编程语言.
但是,它继续提及(在第4.1节,第56页)zxx
主要语言子标签,其中:
标识语言分类不适合或不适用的内容.一些示例可能包括乐器或电子音乐或编程源代码.
(强调我的)
同样,规范似乎与自身相矛盾,但它开辟了使用zxx-x-ruby
(或类似)作为一种完全符合规范的方式的可能性,既宣称要用语言编写的东西(只是不是人类的语言)和声明特定的(涉及非人类语言.
web-standards ×10
html ×5
css ×3
javascript ×3
xhtml ×3
w3c ×2
asynchronous ×1
button ×1
datepicker ×1
decoupling ×1
html5 ×1
jquery ×1
owl ×1
policy ×1
rdf ×1
semantic-web ×1
standards ×1
validation ×1