You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub博客中图片映射(image map)区域链接失效求助

图片映射(Image Map)区域链接失效问题排查

一开始我以为问题出在为实现响应式网页添加的脚本上,但移除脚本后,图片映射的区域链接还是没法正常工作。今天是我学习的第三天,为了装饰博客,我花了一整天排查这个问题。

最初的代码片段

<img src="../images/map.png" usemap="#image-map">

<map name="image-map">
    <area target="_blank" alt="img" title="facebook" href="https://www.facebook.com/" coords="4734,3163,6576,3722" shape="rect">
</map>

尝试使用响应式图片映射脚本后的代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>jQuery</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/jQuery-rwdImageMaps/1.6/jquery.rwdImageMaps.min.js"></script>
  <style>  
    img {
      max-width: 100%;
      height: auto;
    }
  </style>
</head>
<body>
  <!-- 存在语法错误:多余的 `<` 符号 -->
  <img src="../images/2023-01-29-0001/map.png" usemap="#instaMap" width="500" height="500">
  <map name="instaMap">
    <area shape="rect" coords="4673,5113,5337,5737" href="https://www.instagram.com/">
    
  </map>
  <script>
    $(document).ready(function() {
      $('img[usemap]').rwdImageMaps();
    });
  </script>
</body>
</html>

问题排查方向

  • 坐标错位:coords值是基于原图的实际尺寸,但页面中图片被缩放(比如设置了max-width:100%或指定了width/height),导致点击区域和显示区域不匹配。即使移除响应式脚本,尺寸不一致的情况下坐标依然失效。需根据图片显示尺寸重新计算坐标,或确保脚本正常生效适配缩放。
  • 语法错误:第二段代码<body>内有多余的<符号,会导致HTML解析异常,先修复该错误。
  • 图片路径:检查图片src路径是否正确,确保图片能正常加载,图片加载失败会直接导致映射功能失效。

内容的提问来源于stack exchange,提问作者susu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:02:36