Javascript WIndows PopUp功能冲突

时间:2010-12-13 11:39:43

标签: javascript window

我的JavaScript弹出窗口有问题。我有两个窗口弹出功能:

弹出的第一个窗口将打开一个包含页面URL的新窗口

看起来像:

<a class="" onclick="kmt_contactFormPopup('http://uk.support.tomtom.com/app/ask',this)">[To the contact form..]</a>



function kmt_contactFormPopup(emailURL, aTag) 
 { 
     params = 'width=950px';
     params +=',height=700';
     params += 'screenX=250, screenY=80,';
     params +='scrollbars=yes';
     newwindow=window.open(emailURL,'name',params);

     if (newwindow.focus) {newwindow.focus()}
 }

弹出的第二个窗口将抓取此HTML页面中的内容并在弹出窗口中显示内容。

例如;

Collect the error log <a href="#BOX01" onclick="kmt_ShowBoxPopup('BOX01', this);"><strong>[Show me how..]</strong></a><br /><br />
 <div id="BOX01" style="display:none">
     <table cellspacing="0" cellpadding="0" border="0" style="background-color:#ffffff;">

                      </tr>
     </table>
 </div>

javascript

 function kmt_ShowBoxPopup(targetDivID, aTag)
     {
  var orgin_div_content=document.getElementById(targetDivID).innerHTML;

  showBoxPopupWin =window.open("",'name','height=400,width=710,screenX=250,screenY=80, scrollbars=yes');

  showBoxPopupWin.document.write (orgin_div_content);

  if (window.focus) {showBoxPopupWin.focus()}
 }

如果我先运行contactForm弹出功能,然后单击showBox功能。我在JavaScript中收到了一条错误消息:

从中获取属性Window.document的权限被拒绝 第43行

是这行代码

  showBoxPopupWin.document.write (orgin_div_content);

我想有不同的弹出窗口。

1 个答案:

答案 0 :(得分:1)

showBoxPopupWin =window.open("",'name', ...

如果名为'name'的窗口已打开,则不会在窗口中打开新的空白可写文档。它将保留旧文档,作为外部链接,您无法写入。

您必须打开一个具有不同名称的窗口(通常为_blank,以防止任何窗口名称冲突)。

(还考虑给出局部变量var以避免意外的全局冲突,并使用href的正确链接而不是仅使用JS的虚假链接。)