0
function popupaddpackage(urlToOpen){
  var window_width = screen.availWidth/2;
  var window_height = screen.availHeight;
  var window_left = (screen.availWidth/2)-(window_width/2);
  var window_top = (screen.availHeight/2)-(window_height/2);
  var winParms = "Status=yes" + ",resizable=yes" + ",height="+window_height+",width="+window_width + ",left="+window_left+",top="+window_top;
  var newwindow = window.open(urlToOpen,'_blank',winParms);
  newwindow.focus();
}

<a href="" onclick="popupaddpackage('popupchange.jsp?extkey=<%=extKey%>&classId=<%=classid%>')">OPEN POPUP</a>

你好。我使用这个 js 函数在我的 jsp 中打开弹出屏幕。这在 Chrome 中正常工作,但在 IE 中不能正常工作。在 Chrome 中 - 弹出屏幕打开并且后面的页面保持稳定。但是在 IE 中 - 弹出屏幕打开并且后面的页面重定向到 index.jsp(后面的页面是 property.jsp)。如何解决它。感谢你

4

4 回答 4

4

请以正确的方式启动 JS 弹出窗口,问题应该消失了。

在你的情况下,它会是这样的:

function popupaddpackage(link) {
  var window_width = screen.availWidth/2;
  var window_height = screen.availHeight;
  var window_left = (screen.availWidth/2)-(window_width/2);
  var window_top = (screen.availHeight/2)-(window_height/2);
  var winParms = "Status=yes" + ",resizable=yes" + ",height="+window_height+",width="+window_width + ",left="+window_left+",top="+window_top;
  var newwindow = window.open(link.href,link.target,winParms);
  newwindow.focus();
}

对于 HTML:

<a href="popupchange.jsp?extkey=<%=extKey%>&classId=<%=classid%>" target="_blank" onclick="popupaddpackage(this);return false;">OPEN POPUP</a>

这样,你:

  1. 将逻辑标记完全分离
  2. 帮助搜索引擎正确理解(索引)您的页面
  3. 没有javascript的用户也可以毫无问题地打开页面
于 2012-09-07T10:26:11.083 回答
1

您是否尝试添加return false到最后一行popupaddpackage(urlToOpen)?出于 SEO 原因,将 URL 放入其中可能是有利的href,什么是禁用 JavaScript?

于 2012-09-07T10:26:54.947 回答
0

将 href 属性更改为href="#"

于 2012-09-07T10:24:02.740 回答
0

另一种解决方法是

<a href="javascript:void(0);" onclick="...your function ... ">OPEN POPUP</a>
于 2012-09-07T10:28:50.703 回答