代码之家  ›  专栏  ›  技术社区  ›  Niko

在对象(如flash)周围使用a-href是一个坏主意,还是实际上有一个关于如何处理此类对象的点击的标准?

  •  3
  • Niko  · 技术社区  · 16 年前

    他告诉我a-href可以很好地工作。我检查了一下,代码在ie6-8和firefox中运行良好(都安装了flashplayer 9或10)。

    自从我 知道 使用a-href是一个非常糟糕的主意,我做了一些关于为什么不使用它的研究。

    http://www.w3.org/TR/html401/struct/objects.html )在谷歌上搜索。

    但我没有找到任何解释,为什么它应该或不应该工作(我知道有时它不工作)。

    我们最终找到了一个同时使用这两种功能的解决方案——周围的a-href和clickTag(仅供参考:我们不知道会显示什么样的swf,因为它来自cms)。

    为什么a-href/flash有时工作,有时不工作?这样做的“标准”方式是什么?其他包含的对象(svg/movie/audio/。?)有没有标准定义如何处理这些事情(如对flash或媒体播放器等嵌入对象的单击)(即停止传播单击事件的javascript方式)?

    3 回复  |  直到 16 年前
        1
  •  4
  •   Jason Berry    16 年前

    没有反对它的标准,但它肯定会在不同的浏览器/平台组合中导致不可预测的结果。做一个 simple search 查看结果表明,有很多人在超链接swf时遇到了问题。

    添加超链接和clickTag是毫无意义的,你在复制功能,因为如果访问者拥有正确版本的Flash,那么他们将获得Flash电影,并使用clickTag。你应该做的是将超链接作为备用链接,这样,如果没有安装Flash,人们仍然可以访问你的超链接。图书馆,如 SWFObject 让这很容易做到。

        2
  •  2
  •   Adam Crume    16 年前

    我建议不要这样做。我的电脑运行的是64位Linux,而Flash在Firefox中的表现有点滑稽。(一方面,它表现得好像z指数总是比其他任何东西都大。)我还没有测试过它,但我怀疑它不会表现得很好。底线是,这是您希望在所有平台上的所有浏览器上测试的事情,如果可能的话,最好避免。

        3
  •  0
  •   Filip Dupanović    16 年前

    标准方法是使用 [onclick] 属性传递JS表达式,或侦听 click <embed> <object>

    我在想如果 <对象> <嵌入> <a> 应该 <对象> <嵌入> 也我也很自然地相信当 <对象> <嵌入> 捕获单击鼠标事件,它也会正确弹出气泡。但我不能100%确定插件是否可以改变这种行为,从而导致 < 未正确计算其显示,或其他事件模型未触发事件 <a> .