这只是我现在的好奇心。在 Eclipse 中,这是 <head>例如,在 New Facelet 模板 上定义的部分,但对于大多数模板来说都是一样的:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
..
</head>
我想在上面使用更清晰的代码,所以我改为:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
..
</head>
它在开发中运行良好,但我想知道这种方法是否会在未来通过许多浏览器或设备(移动设备)产生任何问题。
最佳答案
这是 HTML5 文档类型,它应该可以在所有浏览器中正常工作,包括 IE6。
JSF 被正式指定为生成符合 XHTML 1.0 的标记(使用 here 和 there 在实现中只有少数违规行为已在 JSF 2.2 中修复和/或可通过上下文参数管理)。 JSF 可以设计为不生成非 XML sytnax(例如 <br> 而不是 <br/> ),因此旧的 HTML4 文档类型与 JSF 生成的 HTML 输出不兼容(也就是说,当您遵守标准和/或害怕 W3 validator ;但是,大多数(如果不是全部)浏览器都非常宽容)。与旧的 HTML4 文档类型相反,HTML5 文档类型允许使用 XML 语法,因此与 XHTML 文档类型兼容。因此,可以使用 HTML5 文档类型编写 JSF 页面。
doctype 仅对网络浏览器如何解释和呈现 HTML 标记很重要(在您的特定情况下由 JSF 生成,但 HTML 不一定需要由 JSF 生成,因此浏览器的呈现在技术上与JSF)。尤其是 Microsoft IE 在某些文档类型方面存在重大问题或完全缺少文档类型。 At the bottom of this page您可以找到结合某些文档类型的浏览器行为的简明概述。共有三种标准行为:
width和 height然后错误地覆盖了 padding和 border .在您的特定情况下,随着从 XHTML 1.0 过渡文档类型到 HTML5 文档类型的更改,Firefox、Chrome、Safari 和 IE>=8 将从“A”变为“S”。因此,如果您想要一个像素完美的设计,您一定要检查浏览器对您网站的呈现方式,以了解表格单元格中图像的填充。
关于文档类型在 IE 中的重要性,这里有一段 HTML 演示了 IE6-9 中由“Q”触发的框模型错误(请注意,这不再出现在 IE10 中):
<!DOCTYPE html>
<html lang="en">
<head>
<title>Remove DOCTYPE to trigger quirksmode</title>
<style>
#box {
background: yellow;
width: 100px;
padding: 20px;
border: 20px solid black;
margin: 20px;
}
</style>
</head>
<body>
<div id="box">box</div>
</body>
</html>
复制'n'粘贴'n'运行它。与 <!DOCTYPE html>现在,您会看到一个矩形。如果没有 doctype 行,您将看到一个真正的正方形(在 IE10 中,您需要在 webdeveloper 工具集中(按 F12)将“浏览器模式”更改为例如 IE9 才能看到它)。
关于html - <!DOCTYPE> 部分在 JSF 中应该如何显示? HTML5 还是 XHTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16035349/
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我在从html页面生成PDF时遇到问题。我正在使用PDFkit。在安装它的过程中,我注意到我需要wkhtmltopdf。所以我也安装了它。我做了PDFkit的文档所说的一切......现在我在尝试加载PDF时遇到了这个错误。这里是错误:commandfailed:"/usr/local/bin/wkhtmltopdf""--margin-right""0.75in""--page-size""Letter""--margin-top""0.75in""--margin-bottom""0.75in""--encoding""UTF-8""--margin-left""0.75in""-
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
我有一个对象has_many应呈现为xml的子对象。这不是问题。我的问题是我创建了一个Hash包含此数据,就像解析器需要它一样。但是rails自动将整个文件包含在.........我需要摆脱type="array"和我该如何处理?我没有在文档中找到任何内容。 最佳答案 我遇到了同样的问题;这是我的XML:我在用这个:entries.to_xml将散列数据转换为XML,但这会将条目的数据包装到中所以我修改了:entries.to_xml(root:"Contacts")但这仍然将转换后的XML包装在“联系人”中,将我的XML代码修改为
为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
我的瘦服务器配置了nginx,我的ROR应用程序正在它们上运行。在我发布代码更新时运行thinrestart会给我的应用程序带来一些停机时间。我试图弄清楚如何优雅地重启正在运行的Thin实例,但找不到好的解决方案。有没有人能做到这一点? 最佳答案 #Restartjustthethinserverdescribedbythatconfigsudothin-C/etc/thin/mysite.ymlrestartNginx将继续运行并代理请求。如果您将Nginx设置为使用多个上游服务器,例如server{listen80;server
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun