在asp.net里实现这样一个功能:
当用户提交页面后询问是否查看修改后的效果.用户确定查看的话将弹出个新窗口,用js里的open('xxx.aspx')话会被某些浏览器屏蔽.我想这样来实现页面中放一个超链接<a id="a" href="xxx.aspx" target="_blank"></a>后台提交后用js去访问这个超链接,if(confirm("preview")==true){document.getElementById('a').click();}但是我的这个方法好象只能在IE6里可以使用,IE7还没测试....换成火狐好象这个click()不能被识别.
请教高手们的解决方案,谢谢啦~~~

解决方案 »

  1.   

    将此填入 火狐注册click
    try{
    HTMLElement.prototype.click = function(){
            var evt = this.ownerDocument.createEvent('MouseEvents');
            evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
            this.dispatchEvent(evt);
        }
    }
    catch(e)
    {}
      

  2.   

    把链接替换成隐藏的Button吧,<input type="button" style="display:none">
      

  3.   

    批量回答~~~~~~~~~一楼:
    我的这个页面分为N个部分,每个部分都是独立的,内容也不多,但是修改任何一个部分都会改变某些效果,所以要新开个窗口供查看.该窗口必须为客户端正常显示的模式.二楼:
    你提供的方法我试过,我是这样写的,以下代码没错的前提下火狐还是不实现该功能:
    var evt = document.createEvent("a");
    evt.initEvent(\"click\",true,true);
    var linka = document.getElementById("a");
    linka.dispatchEvent(evt);三楼:
    弹出div的话就不是窗口了,我想要弹出新窗口,不能用类似于showModalDialog()这样的效果..四楼:
    请问下,用button的话最后是不是又回到JS的open()方法啦?会被某些浏览器屏蔽的吧.最后,感谢大家积极参与~~~~
      

  4.   

    可能我没表达好我的意思.这个<a>标签是不写click代码的。
    我只是想能实现模拟点击<a>标签后新开个页面能做到吗?