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 に答える