Как Digg удаляет «& x = 0 & y = 0» из URL -адреса результатов поиска?
-
21-09-2019 - |
Вопрос
Я использую изображение в качестве кнопки отправки для формы поиска, т.е.
<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, чтобы отправить форму. Кто -нибудь может сказать?
Решение
Раскопать является Использование JavaScript для этого. Попробуйте отправить форму поиска с JavaScript отключенным в вашем браузере.
Другие советы
Вместо использования <input type="image">
, вы можете использовать <button>
элемент:
<button type="submit" style="border: 0; background: transparent">
<img src="image.png"></img>
</button>
Эти параметры обозначают местоположение, в котором клик был осуществлен на изображении, которое является поведением по умолчанию большинства, если не всех браузеров, когда речь идет об использовании изображений в качестве кнопок отправки. Вы можете использовать обходной путь, который в основном проходит через JavaScript, чтобы отправить свою форму, очень похожую на то, что вы видите в примере Ватена. Или вы можете создать кнопку отправки, которая не является элементом формы, используя form.submit () в качестве действия, прикрепленного к этому изображению.
Вы можете использовать JavaScript, чтобы отправить подобную форму, это все еще самый простой способ:
<script>
yourForm.onSubmit = function() {
location.href = 'main/search?search=' + encodeURIComponent(yourForm.elements['query'].value);
return false;
}
</script>
К сожалению, я не знаю, как они это делают без JavaScript.
РЕДАКТИРОВАТЬ: Кстати, вы также можете использовать простую, которая отправит форму, когда ее нажимают.