为什么Opera Mini有时会点击错误的链接

时间:2011-02-20 03:36:23

标签: javascript html opera opera-mini mobile-browser

每隔一段时间,但在Facebook上特别流行,Opera Mini将表现出以下行为。在两个连续和不同的链接中,由文本和其他标记分隔:

  1. 正确的链接会在悬停时突出显示,
  2. 单击
  3. 时,不会发生其他闪烁/突出显示,但
  4. 它会加载第二个(不正确的)链接或一些其他链接。
  5. 在相关但不完全相同的问题 1 中,有人建议它是相同的链接,相同的绑定javascript事件或未关闭的a标记。我几乎完全确定它不是第一个或最后一个,但可能是js问题,如果没有别的。但是,由于我无法在这种环境中进行测试,我问社区,这可能在这里有经验。谢谢!

    1 奇怪的是,在浏览这个问题的建议答案时出现了这个错误/问题(在点击列出的问题并点击'返回'后,点击第二个可能列出的问题,它返回了我到问题页面没有任何建议的链接显示)。不过,我不能在不丢失此页面的情况下返回检查,因此必须尝试搜索问题并稍后将其链接在此处。

2 个答案:

答案 0 :(得分:2)

我不使用Facebook,但在尝试询问Stackoverflow问题并点击相关链接时,我确实得到了与您相同的功能。通过引入外部搜索结果列表动态生成链接。例如:https://stackoverflow.com/search/titles?like=why+does+opera+mini+sometimes+click+the+wrong+link

您可能知道,Opera Mini会在服务器上呈现JavaScript。当“询问问题”页面加载相关链接时,脚本会被执行,但当您返回同一页面时,脚本不再执行第二次。仅显示缓存页面,这可能会影响动态生成的内容和脚本。

此外,为了避免流氓脚本运行时间过长并可能导致Opera Mini服务器崩溃,页面上的脚本只运行几秒钟,因此在此时间之后生成的任何链接都不会出现或表现得如此。以下是有关Opera Mini JavaScript行为的更多信息:http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#javascript

答案 1 :(得分:1)

我认为这可能与Opera Mini中的z-index位置不良行为有关或者有什么关系。

我遇到了一个非常糟糕的例子。在我的一个最新网站上,我碰巧在页面内容下方固定位置的较低z-index处渲染导航菜单。点击汉堡包按钮:focus上的input type="checkbox"触发器即可显示菜单。

发生的事情是,整个垂直菜单及其页面内容背后的链接都被暴露为可点击,沿着z-index更高的所有实际可见链接元素。

我必须在visibility: hidden;上下文中的导航菜单中添加input:not(:checked),以便在显示导航菜单时,所有导航链接都可以点击

所以我的猜测是,Opera Mini可以将显示的链接视为visibility: visible; 可操作的可点击元素,而不管{{>实际可见性状态{{ 1}}里面有。