別のページから window.open を使用してポップアップとして開くページがあります。この時点で、window.open
呼び出しはポップアップ ページの特定の高さと幅を指定します。
window.innerHeight
ポップアップ ページで、 andを使用して利用可能な画面サイズを検出しますwindow.innerWidth
(クロスブラウザーの互換性についても同様です)。
window.onload = function() {
if (window.innerWidth && window.innerHeight) {
ww = window.innerWidth; wh = window.innerHeight;
} `
ポップアップがこれを使用して openend である場合、これは時々機能しません:
newHeight = 400;
newWidth = 400;
window.open("popup.html", "", "height=" + newHeight + ",width=" + newWidth);
私が抱えている問題は、高さ/幅の検出でタイミングの問題が発生することがあることです。状況によっては、返される高さ/幅がポップアップ ウィンドウに設定されているものではなく、他の値になることがあります (オープナー ウィンドウの値のように見えます)。
window.innerHeight
ポップアップ ウィンドウの高さ/幅の設定が適用される前に が検出されたようです。
通常、ポップアップでは、window.onload
関数内の高さと幅を検出します。30 ミリ秒のタイムアウト遅延を追加すると問題が消えるため、これはタイミングの問題である可能性があると思いますが、それよりも短い遅延でも問題が発生する可能性があります。
質問: 開いたウィンドウに、オープナーの高さ/幅の設定window.open
が適用されていることを確認するイベントはありますか?