0

AJAX で使用されるインライン JavaScript があり、開いたときに自動中央揃えにしたいのですが、インライン scriprt のみを変更します。それは可能ですか?これが私のコードです:

<a href='javascript:void(0)' title='owner' onclick=\"window.open('owner.html','owner','height=320, width=300,location=no,scrollbars=yes')\ >some text</a>
4

2 に答える 2

1

私は真実味の答えを扱い、これを機能させました:

<a onclick="javascript:void window.open('http://www.google.com','1380642102467','width=400,height=300,resizable=1,left='+(screen.width/2-200)+',top='+(screen.height/2-150));return false;" href="http://www.google.com"><u>CLICK HERE</u></a>

主な違いは次のセクションにありました。

left='+(screen.width/2-200)+'
top='+(screen.height/2-150)

(screen.) パラメータ内でウィンドウ サイズの半分を差し引いた場合、ウィンドウ サイズの差を差し引くとうまくいくことがわかりました。-200 と -150 の部分は、ポップアップ ウィンドウの半分のサイズ (「幅」と「高さ」に手動で入力した値) から計算されます。さまざまなポップアップウィンドウのサイズに基づいて、これにもっと動的な方法があるかどうかはわかりませんが、個人的にはそれを行う必要はなく、静的な値を入力しても問題ありません.

これも完全にインラインにする必要がありました。これを使用する必要がある場所では、ヘッドを変更したり、ファイルを追加したりすることはできません。本文の HTML のみをアップロードするように制限されています。

お役に立てれば!

于 2014-01-20T17:48:05.447 に答える
0

left計算しtop、計算された値をパラメーターとしてwindow.open()呼び出しに提供する必要があります。JavaScript をインラインにしたい理由がわかりません。すべての場所から同じ関数を呼び出すことができるように、別の呼び出しで実行することをお勧めします。

Left = (screen.width / 2) - (Provided Width of the Popup / 2)
Top  = (screen.height / 2) - (Provided Height of the Popup / 2)   

関連するコードのみを投稿する -

window.open('owner.html','owner','height=320, width=300,location=no,scrollbars=yes,left=' + (screen.width/2)-(300/2) + ',top=' + (screen.height/2)-(320/2))
于 2012-09-16T03:53:51.520 に答える