我们在使用html标签时遇到了一种奇怪的行为。实际上问题是因为标签的使用不当。因此,该页面在Mozilla Firefox中提交了3次,在IE7中提交了2次。这是问题所在。
<link rel="stylesheet" type="text/css" title="Style" href=''/css/image.css'>
这是我们在J2EE应用程序中使用的代码。当我们检查请求和响应时(使用HTTP Watch),我们发现该页面是从服务器请求了3次。我们发现href=
之后的其他“引用”导致了问题。我们无法找出导致多页提交的原因。是因为,附加引用使href
为空,并且因为该浏览器尝试从加载页面的同一URL加载styleclass
?
有人可以帮忙找出发生这种情况的原因吗?任何帮助将不胜感激。
答案 0 :(得分:1)
这个解释来自this article on Yahoo Developer site。部分避免空图像src :
When an empty string is encountered as a URI, it is considered a relative URI and is resolved according to the algorithm defined in section 5.2. This specific example, an empty string, is listed in section 5.4.
虽然仍然不清楚此行为是否会影响href
(该文章主要涉及空src
)。但看起来确实如此:
Hopefully, browsers will not have this problem in the future. Unfortunately, there is no such clause for <script src=""> and <link href="">. Maybe there is still time to make that adjustment to ensure browsers don't accidentally implement this behavior.
注意:我从未遇到过这样的行为,所以这只是理论上的答案:)
答案 1 :(得分:0)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
</head>
<body>
<table width="100%" cellspacing="0" cellpadding="0" border="0" class="mainOutterTable">
<tbody>
<tr>
<td>
<table class="layoutColumn" cellpadding="0" cellspacing="0">
<tr>
<td style="width:100%;" valign="top">
<table class="layoutRow" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="910">
<table class="layoutColumn" cellpadding="0" cellspacing="0">
<tr>
<td style="width:100%;" valign="top">
<table class="layoutRow" cellpadding="0" cellspacing="0">
<tr>
<td valign="top" width="294">
<table class="layoutColumn" cellpadding="0" cellspacing="0">
<tr>
<td style="width:100%;" valign="top">
<a name="7_N1K8HIC0GOO780I2B1KASD3047"></a>
<div class="wpsPortletBody">
This is a sample textf 3.
<link rel="stylesheet" type="text/css" title="Style" href=''/>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</tbody>
</table>
</body>
</html>
我能够在测试页面上重现问题。
这在http://www.apps.ietf.org/rfc/rfc3986.html#sec-5.2的第5.2节中提到 如果Relative路径为空,则目标URI是基本路径。 if(R.path ==“”)然后 T.path = Base.path;