none
在Firefox如何实现链接的click() 事件 ? RRS feed

  • 问题

  • 在Firefox如何实现链接的click() ?

    想要通过脚本点击一个链接。

    是像这样的情况:

    <a  href= "http://www.baidu.com "  id= "abc "> abc </a>

    document.getElementById( "abc ").click()

    在IE中正常,在firefox,chrome不行.

    不要用document.location.href=url的方法来实现,还有其它方法吗?

    其实就是想实现:用JS实现打开一个页面,但是不是window.open('') ,可惜location.href不能在新窗口中打开,只要能在新窗口中打开就行了

    2009年4月27日 9:29

答案

  • 楼主是不是想新打开一个窗口又不被拦截,是吗?
    如果是这样,你可以尝试,在你的页面里面签入一个iframe,然后从iframe里面的页面window.open一个窗口,应该不会被拦截。


    Wright
    • 已标记为答案 rewalax 2009年4月28日 4:17
    2009年4月28日 1:46
  • Firefox的安全特性禁止这样做。

    一个按钮的click包括两部分:
    1.你自己定义的onclick事件处理函数
    2.浏览器对于onclick的默认行为

    Firefox认为,你要调用第1部分是可以的,你就自己调用吧。但是第2部分的话,只有用户明确他自己想要这样做时才会被触发,你不能通过click()来模拟用户的操作然后触发这部分行为。
    Microsoft ASP.NET MVP
    2009年4月28日 3:47
    版主

全部回复

  • try

    object.doClick()


    也许能用。。。。


    工作突然有点忙 嘿嘿
    2009年4月27日 9:40
  • 您的意思是document.getElementById( "abc ").doClick() ?
    试过无效
    谢谢答复
    2009年4月27日 9:44
  • 就是为了防止滥用,ff不支持链接的click
    【孟子E章】
    2009年4月27日 12:13
    版主
  • 楼主是不是想新打开一个窗口又不被拦截,是吗?
    如果是这样,你可以尝试,在你的页面里面签入一个iframe,然后从iframe里面的页面window.open一个窗口,应该不会被拦截。


    Wright
    • 已标记为答案 rewalax 2009年4月28日 4:17
    2009年4月28日 1:46
  • Firefox的安全特性禁止这样做。

    一个按钮的click包括两部分:
    1.你自己定义的onclick事件处理函数
    2.浏览器对于onclick的默认行为

    Firefox认为,你要调用第1部分是可以的,你就自己调用吧。但是第2部分的话,只有用户明确他自己想要这样做时才会被触发,你不能通过click()来模拟用户的操作然后触发这部分行为。
    Microsoft ASP.NET MVP
    2009年4月28日 3:47
    版主