我正在使用 永久框架 (COMET 流技术)以及在 IE6 中每当用户点击链接时(甚至只是基本的 JavaScript)方法)连接立即断开并且必须手动刷新。
有没有人遇到过类似的问题和/或知道如何解决它?
I am using a forever frame (COMET streaming technique) and in IE6 whenever a user clicks on a link (to even just basic JavaScript method) the connection is immediately dropped and has to be manually refreshed.
Has anyone come across a similar issue and / or know how to address it?
发布评论
评论(1)
如何解决这个问题:从事件处理程序中返回 false(对于侦听器等而言为 event.preventDefault ),这样链接就不会被跟踪,因此简单的左侧不会发生导航 -点击。将所有逻辑放在从脚本附加的事件处理程序中(而不是
javascript:
URL,这是一个可怕的脆弱黑客,永远不应该使用)。此外:如果它只是一个在单击时执行一些脚本编写的按钮,并且实际上并未指向任何有用的可导航位置,则不应将其标记为链接。理想情况下,它应该是一个按钮(
input
或带有type="button"
的button
),然后您可以使用 CSS 将其设置为链接样式如果您愿意,而不是按钮。(另一种方法需要较少的样式工作,但存在可访问性缺点,即执行 SO 所做的操作,只需在
或
上放置一个
onclick
事件。)
How to address it:
return false
from your event handlers (event.preventDefault
for listeners etc) so that the link is not followed and so no navigation occurs on a simple left-click. Put all your logic in event handlers attached from script (and notjavascript:
URL, which are a horrible fragile hack that should never be used).Further: if it's just a button that does some scripting when clicked, and doesn't actually point to anywhere usefully navigable, it shouldn't be marked up as a link. Ideally it should be a button (
input
orbutton
withtype="button"
), which you can then use CSS to style like a link rather than a button if you prefer.(Another approach, that requires less styling work but has accessibility drawbacks, is to do what SO does and just put an
onclick
event on a<span>
or<div>
.)