纯HTML链接(A)可以重新加载没有查询字符串值的页面

时间:2011-11-24 14:44:55

标签: html

我想基本上重新加载我正在使用的页面而没有可能存在的一些查询字符串(从而改变页面上的内容)。我发现将href标记保留为空href="",但我不知道这是否是一种安全的方法,即。它在旧浏览器中有效吗?

修改

事实上废弃它,留空它不起作用(我在那里做了一些很好的测试)。所以,我想我现在的问题是,如何在没有任何查询字符串值的情况下重新加载同一页面?并且不知道文件名并且不使用Javascript。我想我正在寻找类似/#的内容。

4 个答案:

答案 0 :(得分:6)

an interesting post about empty URLs。它引用了RFC 3986,它定义了URL。

基本上,从 spec 的角度来看,你应该保存,href=""引用当前页面。

我认为所有浏览器都坚持这一点,但这只是一个有根据的猜测。 The HTML5 spec也允许空网址。

编辑:为了满足更新后的问题,(几乎)可以使用href="?"删除查询字符串。

答案 1 :(得分:6)

我想我知道一招。当您使用<form>标记为空action且无(或GET)method参数时,它将使用您的网址,但会将GET参数(查询字符串)替换为表单中的值,所以:

在页面http://example.com/foo.html?query=string

<form action="">
    <input type="submit" value="hello" />
</form>

如果您点击按钮,您将进入:

  • http://example.com/foo.html(Firefox 8)
  • http://example.com/foo.html(Internet Explorer 9)
  • http://example.com/foo.html?(Chrome 15)
  • http://example.com/foo.html?(Safari 5)

编辑:结尾问号可能是Webkit问题。

答案 2 :(得分:0)

空的href是一个空的相对uri,应该解析为没有问题的基础uri。

答案 3 :(得分:-4)

是的,你可以试试这个:href="#"