Diggは、検索結果URLから「&x = 0&y = 0」をどのように削除しますか?
-
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を使用していないようです。誰かが言うことができますか?
解決
digg は JavaScriptを使用してそれを行います。ブラウザでJavaScriptを無効にして検索フォームを送信してみてください。
他のヒント
を使用する代わりに <input type="image">
, 、aを使用できます <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なしでそれをどのように行うのかわかりません。
編集:ところで、クリックしたときにフォームを送信するシンプルを使用することもできます。