【问题标题】:How Does Digg remove "&x=0&y=0" from their Search Results URL?Digg 如何从搜索结果 URL 中删除“&x=0&y=0”?
【发布时间】:2009-12-28 22:06:51
【问题描述】:

我使用图像作为搜索表单的提交按钮,即:

<input id="search" type="image" alt="Search" src="/images/searchButton.png" name=""/>

这在 Chrome 和 Firefox 中有一个不幸的副作用——参数 &x=0&y=0 出现在搜索结果 URL 的末尾,例如,如果我搜索“食物”,我会被定向到该页面:

main/search?search=food&x=0&y=0

一些网上搜索表明,这是您使用图片提交表单时的标准行为。

我注意到 Digg.com 使用图像来提交其搜索表单,但避免了这种行为。我不知道他们是怎么做到的。他们似乎没有使用 Javascript 来提交表单。谁能告诉我?

【问题讨论】:

  • 为什么没有这些参数很重要?这不像任何人实际上会查看您网页的 URL。严重的。

标签: javascript html forms digg


【解决方案1】:

Digg 使用 JavaScript 来做到这一点。尝试在浏览器中禁用 JavaScript 的情况下提交搜索表单。

【讨论】:

  • 很棒的电话,不知道我是怎么错过的。
【解决方案2】:

您可以使用&lt;button&gt; 元素,而不是使用&lt;input type="image"&gt;

<button type="submit" style="border: 0; background: transparent">
  <img src="image.png"></img>
</button>

【讨论】:

    【解决方案3】:

    这些参数表示在图像上执行点击的位置,这是大多数(如果不是所有)浏览器在使用图像作为提交按钮时的默认行为。您可以使用基本上通过 JavaScript 提交表单的解决方法,就像您在 watain 的示例中看到的一样。或者,您可以通过使用 form.submit() 作为附加到该图像的操作来创建一个不是表单元素的提交按钮。

    【讨论】:

      【解决方案4】:

      你可以使用Javascript这样提交表单,这仍然是最简单的方法:

      <script>
      yourForm.onSubmit = function() {
       location.href = 'main/search?search=' + encodeURIComponent(yourForm.elements['query'].value);
       return false;
      }
      </script>
      

      很遗憾,如果没有 Javascript,我不知道他们是如何做到的。

      编辑:顺便说一句,您还可以使用一个简单的方法,当它被点击时提交表单。

      【讨论】:

        猜你喜欢
        • 2022-12-20
        • 1970-01-01
        • 2014-11-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-07-31
        • 1970-01-01
        相关资源
        最近更新 更多