-2

以下のページの何が問題になっていますか?

<html>
<head>
<script type="text/javascript">
function openWin(url, w, h)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
w=window.open(url, '_blank', 'width='+w+', height='+h+', scrollbars=no, menubar=no, resizable=no, location=no, toolbar=no, top='+top+', left='+left+', 'false');
w.focus();
}
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWin(about:blank, 200, 200)" />

</body>
</html>

ボタンをクリックしても何も起こりません。

クロムを使用

4

6 に答える 6

5

これを試して:

<html>
<head>
<script type="text/javascript">
function openWin(url, w, h)
{
var left = (screen.width/2)-(w/2);
var top = (screen.height/2)-(h/2);
w=window.open(url, '_blank', width='+w+', height='+h+', scrollbars='no', menubar='no', resizable='no', location='no', toolbar='no', top='+top+', left='+left+', 'false');
w.focus();
}
</script>
</head>
<body>

<input type="button" value="Open window" onclick="openWin('about:blank', 200, 200); return false;" />

</body>
</html>
于 2012-05-12T23:03:12.277 に答える
3

2つの構文エラーがあります。1つはonClick属性にあり、 2つabout:blankは引用符で囲まれていません。window.openでは、2番目の引数の最後に2番目の引数があり、3番目の引数も文字列としてあります。ブール値である必要があります。
+'

于 2012-05-12T23:00:42.157 に答える
2

関連する雑学のユニークなビット:
少なくとも最近のリリースのIE、9.0.8112.16241(vista / win7)および8.0.6001.18072(xp)では、プログラムで実行するwindow.open(‘about:blank’)と、プログラム可能なfocus()アドレスバーに「<strong> :空欄"。
注: window.open(”)空の文字列のURLは。と同じwindow.open(‘about:blank’)です。

オプションを追加するlocation=noと、IEのセキュリティ設定に基づいてこれを回避できます
Allow websites to open windows without address or status bars

ただし、デフォルトは正しくありません(アドレスバーを強制します)。私が見つけた最も簡単な方法は、ユーザーがセキュリティ設定でサイトを「信頼できる」として設定することです。デフォルトの「中」設定では、アドレスバーが強制的に表示されません。

IE 8でダミーURIを使用するjavascript:popup=1と、これを回避できましたが、設定に基づいて新しいタブで開く可能性があり、機能しない可能性があります。

関連するカスタムセキュリティ設定:

  • 場所:[ツール]->[インターネットオプション]->[セキュリティ]->[カスタムレベル]->[その他]
  • 値:Webサイトがアドレスバーやステータスバーなしでウィンドウを開くことを許可する:有効にする

注:私のものは、有益なポップアップの合法的に有用なデザインを採用しているレガシーWebベースの「アプリケーション」です(まだ誰も「Word」からそれらを取り除いていません)。この便利なUIメカニズムは詐欺師やハッカーによって傷つけられているため、被害を受けた私たちにとっては十分な挑戦です。非生産的な「ポップアップを使用しない」接線方向の感動詞で私たちをさらに殴打することに抵抗することをお勧めします。

テストコード(onloadJSServerSidePage動作し、onloadJSClientSidePage問題があります):

http://forus.com/csm/code/iepopup/testPopupFocus.html

オプションの「testPopupFocusContent.html」onloadJSServerSidePag

http://forus.com/csm/code/iepopup/testPopupFocusContent.html

于 2012-06-26T17:07:46.233 に答える
1

代わりにこれを試してください:

<input type="button" 
       value="Open window" 
       onclick="openWin('about:blank', 200, 200);" />

関数呼び出しのURLパラメータのコロンが問題の原因だと思います。文字列の場合は引用符で囲む必要があります。

編集:セミコロンを追加しました-これは私にとってはうまくいくようです。

于 2012-05-12T22:51:19.587 に答える
1

false行末のあなたw=window.open()は適切に引用/連結されていません。

于 2012-05-12T22:55:54.953 に答える
1

ここで最後の引数は不正な形式であり、'を削除して修正されました

   w=window.open(url, '_blank', 'width='+w+', height='+h+', scrollbars=no, menubar=no, 
    resizable=no, location=no, toolbar=no, top='+top+', left='+left+', false');

HTMLの呼び出しコードでは、

  <input type="button" value="Open window" onclick="openWin('http://www.google.com', 200, 200)" />

URL部分には、絶対URLまたは相対URLのいずれかを含めることができます。

お役に立てれば..

于 2012-05-12T23:12:54.353 に答える