window.opener.document.getElementById(按钮的ID)。click()会导致chrome中的javascript错误

window.opener.document.getElementById(按钮的ID)。click()会导致chrome中的javascript错误,javascript,google-chrome,Javascript,Google Chrome,Google chrome给出了这个javascript错误 Uncaught TypeError: Object javascript:__doPostBack('ctl00$MainContentPlaceHolder$lnkBtnHidden','') has no method 'click' 在执行这一行时 window.opener.document.getElementById('ctl00_MainContentPlaceHolder_lnkBtnHidden').click(

Google chrome给出了这个javascript错误

Uncaught TypeError: Object javascript:__doPostBack('ctl00$MainContentPlaceHolder$lnkBtnHidden','') has no method 'click'
在执行这一行时

window.opener.document.getElementById('ctl00_MainContentPlaceHolder_lnkBtnHidden').click();
我已经验证了该控件是否在opener页面中,并且按钮的ID也相同,但是
window.opener.document.getElementById('ctl00\u MainContentPlaceHolder\u lnkBtnHidden')
返回此值,而不是返回一个对象:

javascript:__doPostBack('ctl00$MainContentPlaceHolder$lnkBtnHidden','')
这只发生在Chrome中

编辑:用于打开窗口的代码如下:

win= window.open('/PageName.aspx?qs=qsValue','','scrollbars=1,width=1000,height=950');
win.moveTo(0,0);

不要被退回的文件弄糊涂了

javascript:__doPostBack('ctl00$MainContentPlaceHolder$lnkBtnHidden','') 还有:您应该将
javascript:\uu doPostBack()
的调用从href属性移动到onclick属性。否则,无法保证调用该函数(取决于浏览器)

请参见示例:
开场白来源:

弹出源:

什么样的元素(标记名)是“控件”这基本上是一个
锚点
控件,但我也用
input type=submit
尝试过,结果相同。在Chrome中,click()不适用于锚点,但应该适用于输入。但是,click方法在任何元素上都不可信。请改为尝试fireevent(IE)和dispatchEvent(其他)。将其更改为
dispatchEvent('onClick')
后,会出现以下错误
未捕获错误:未指定的\u事件\u类型\u错误:DOM事件
。我认为问题是因为javascript没有返回
window.opener.document.getElementById('ctl00\u MainContentPlaceHolder\u lnkBtnHidden')的对象。
我接受你的答案,因为这是正确的解决方案,但请将if语句更改为
if(document.firevent)
因为Internet Explorer(第9版)识别
fireEvent
dispatchEvent
,但不使用
dispatchEvent
触发事件,因此else将自动用于chrome。。。
//@param obj element where to simulate the click
function simclick(obj)
{

  if(document.fireEvent) {
    obj.fireEvent("onclick"); 

    }
   else if(document.dispatchEvent) { 
    var oEvent = document.createEvent( "MouseEvents" );
    oEvent.initMouseEvent("click", true, true,window, 1, 1, 1, 1, 1, false, false, false, false, 0, obj);
    obj.dispatchEvent( oEvent );
    } 
}