宇山
作者宇山·2018-12-11 17:02
其它·失业中。。。

domino中如何修改doctype

字数 1812阅读 1571评论 0赞 2

domino自动生成的doctype在有些项目中已经过时,可能会导致某些JS失效。

修改doctype的方法有两种,一种是使用$$HTMLFrontMatter内置域,以下是文档介绍

HTML front matter information for a form is stored in a Computed for Display text field that is hidden from Web browsers, named$$HTMLFrontMatter.

Specify the value of this field inside quotation marks, and include the entire statement. For example, this code specifies if an HTML document should be viewed with strict or transitional encoding, depending on the value of a field on the form named Mode.

@If(Mode="Strict";

"<!DOCTYPE HTML PUBLIC" + @NewLine +
"    \\"-//W3C//DTD HTML 4.01\\"" + @NewLine +
"    \\"http://www.w3.org/TR/REC-html40.strict.dtd\\">" + @NewLine;
"")

具体我们如果需要更改一个表单的doctype就可以用这种方法,在表单内创建一个域,名字为$$HTMLFrontMatter,然后缺省值为@Return("<你需要doctype>"),这样就可以了~

如果你需要修改所有的,也可以修改notes.ini文件,这个方法是在网上看到的,我没有使用,应该也是有效的。方法如下:

DominoCompleteDoctype = 0 或 1 或 2

0 = !DOCTYPE HTML PUBLIC “W3CDTD HTML 4.01 TransitionaEN”

1 = !DOCTYPE HTML PUBLIC “-W3DTD HTML 4.01 TransitionalEN” “http://www.w3.org/TR/html4/loose.dtd

2 = !DOCTYPE HTML PUBLIC “W3CDTD HTML 4.0EN” “http://www.w3.org/TR/html4/strict.dtd

==================================================

我们知道所有的浏览器都有怪癖模式(Quirks Mode)和标准模式(Standards Mode)。怪癖模式是为了兼容老旧的网页,去模拟早期浏览器(如 IE5.5)的非标准实现;而标准模式会尽可能的按照标准去执行。而激活不同模式的关键正是 HTML 页面的 DOCTYPE。

现在已经是 2010 年了,可是 Domino 生成的默认的 DOCTYPE 还是:

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

在目前所有流行的浏览器下它都会触发怪癖模式。所以我们需要以下 Notes.ini 参数来改掉它:

DominoCompleteDoctype = 0 或 1 或 2

0 = !DOCTYPE HTML PUBLIC “W3CDTD HTML 4.01 TransitionaEN”
1 = !DOCTYPE HTML PUBLIC “-W3DTD HTML 4.01 TransitionalEN” “http://www.w3.org/TR/html4/loose.dtd
2 = !DOCTYPE HTML PUBLIC “W3CDTD HTML 4.0EN” “http://www.w3.org/TR/html4/strict.dtd

我们只是想要触发标准模式,那么用 1 就可以了。不过由于是通过 Notes.ini 修改的,肯定会影响到所有的表单,想要更改个别的表单可以使用 $$HTMLFrontMatter 域。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

X社区推广