2017-11-23 8 views
3

はの私は、次のHTMLを持っているとしましょう:ismap属性がクエリ文字列を尊重しないのはなぜですか?

<a href="crocodile.php?name=alex"> 
    <img src="alex.png" ismap> 
</a> 

私はブラウザがcrocodile.php?name=alex&41,18のようなものを開くことが期待されます。実際には開かれたURIはcrocodile.php?name=alex?41,18でした。私の知る限り、URIは有効なURIにさえしていません。たとえば、PHPでは、の値がalex?41,18で終わります。

この現象の背景には何らかの理由がありますか?私は、?x,yを頭脳無しで追加するのではなく、ブラウザがhrefの既存のクエリ文字列を尊重したマップを解析することを期待しています。

Google Chrome、Firefox、Safariでテスト済みです。

答えて

2

有効なURLです。スペックが起こるはずのことです。 ?41,18は、ハイパーリンクサフィックスであり、新しいパラメータではありません。以下のように、実行する必要がありますし、サーバー側のイメージマップ処理、クリックイベントのターゲットは、指定ISMAP属性を持つimg要素である場合には3.2

ステップ、HTML 5.3 spec - The A elementを参照してください:

クリックイベント場合実際のポインティングデバイスでトリガされたimg要素のクリックイベントだった場合、画像の左端からクリックまでの距離をxとし、CSSピクセルの上からの距離をyとします画像の端をクリックの位置に移動します。そうでなければ、xとyをゼロとする。

ハイパーリンクサフィックスをU + 003F QUESTION MARK文字にすると、ASCII数字、U + 002C COMMA文字(、)、およびベースとして表されるyの値を使用して10進数で表されるxの値ASCII数字を使用した整数。

+0

クエリ文字列は既にハイパーリンクサフィックスではありませんか? –

+0

いいえ。クエリ文字列は、ハイパーリンクが続いたときに、サフィックスが追加されるハイパーリンクのURLの不可欠な部分と見なされます(http://w3c.github.io/html/links.html#sec-followingハイパーリンク) – Alohci

+0

私はちょうど何か新しいことを学んだ、ありがとう! –

関連する問題