【发布时间】:2015-01-08 09:16:54
【问题描述】:
早安,
我正在开发一个 c# web 应用程序,一切正常,直到我添加一个普通的 JavaScript。
html代码如下:
<!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">
<head runat="server">
<title></title>
<script src="scripts/JScript.js" type="text/javascript"></script>
<asp:ContentPlaceHolder id="headContent" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<asp:ContentPlaceHolder id="title" runat="server"></asp:ContentPlaceHolder>
<asp:ContentPlaceHolder id="bodyContent" runat="server"></asp:ContentPlaceHolder>
<!-- some code here -->
</body>
JScript.js 是放入的 JavaScript。
JavaScript 代码如下:
function getCookie(catId) {
var ebRand = Math.random() + '';
ebRand = ebRand * 1000000;
document.write('<scr' + 'ipt src="HTTP://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&ActivityID=553971&rnd=' + ebRand + '"></scr' + 'ipt>');
}
点击链接按钮时会触发此 JavaScript 函数。
我在 IE 中遇到错误,但 Chrome 和 Mozilla 运行正常。
我在 IE 控制台中的错误是
HTML1527: DOCTYPE expected. The shortest valid doctype is "<!DOCTYPE html>".
在谷歌搜索后,我尝试输入
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
作为新的DOCTYPE,但它也无法正常工作。
我已经试了
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
在<head></head>内
但我仍然在 IE 中遇到同样的错误。
ContentPlaceHolder 有问题吗?
除此之外,我还要去 W3C 标记验证服务对地址进行一些验证:
然后去http://validator.w3.org/check输入<script src="HTTP://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&amp;ActivityID=553971&amp;rnd=20079.082210606393"></script>
也是。
但不明白验证结果是什么意思。
请多多指教。
【问题讨论】:
-
您在哪个 IE 版本中遇到该错误?你也可以试试 html 验证器:validator.w3.org.
-
IE 10. 在网站上检查什么?
-
加载您的页面,查看页面源代码,复制源代码并将其粘贴到直接输入选项卡中并点击检查。它会尝试验证您的 html 结构等。
-
嗨 Benny Lin,当我查看页面源代码时,我只看到
<script src="HTTP://bs.serving-sys.com/Serving/ActivityServer.bs?cn=as&amp;ActivityID=553971&amp;rnd=20079.082210606393"></script>所以,当我复制过来时,验证出错。这是什么意思? -
这意味着在初始页面加载后调用 document.write() 将原始文档吹走。不知道 ActivityServer.bs 应该做什么,所以不能告诉它应该发生与否。
标签: javascript c# html internet-explorer doctype