web-dev-qa-db-ja.com

JavaScriptアラートの位置がchrome

Javascriptアラートを使用している場合、ブラウザの上部に表示されます中央ではない Chromeの現在のバージョンの位置。どうすれば制御でき、javascriptで中心にできますか。 FirefoxおよびIEでは、問題なく機能しています。私の現在のchromeバージョン30.0.1599.66

すべての種類のブラウザおよびすべてのバージョンのブラウザの正確な中心にアラートボックスを配置したい。助けてください........

アラートを中心に置くことができるようにアラートを提供する他の簡単なアイデアも評価されます...

13
AtanuCSE

アラートをブラウザに依存することは、いずれにとっても良い選択ではありません。それらは急速に変化し、異なるブラウザでは同じではありません。

私が便利だと思ったのは、すべてのアラートのニーズに Alertify JS を使用することです。あなたのニーズに合わせてカスタマイズすることができ、とにかく素晴らしいように見えます。

7
Vikram Tiwari

これはデフォルトのボックスであるため、uを配置することはできませんが、uは独自に作成し、それに応じて配置できます.. http://jqueryui.com/dialog/

3
Manu

Alert()ダイアログの位置を中央にしたい。このシンプルなscript.jsを試してください

// alertMX -  improve alert()

$("<style type='text/css'>#boxMX{display:none;background: #333;padding: 10px;border: 2px solid #ddd;float: left;font-size: 1.2em;position: fixed;top: 50%; left: 50%;z-index: 99999;box-shadow: 0px 0px 20px #999; -moz-box-shadow: 0px 0px 20px #999; -webkit-box-shadow: 0px 0px 20px #999; border-radius:6px 6px 6px 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px; font:13px Arial, Helvetica, sans-serif; padding:6px 6px 4px;width:300px; color: white;}</style>").appendTo("head");

function alertMX(t){
$( "body" ).append( $( "<div id='boxMX'><p class='msgMX'></p><p>CLOSE</p></div>" ) );
$('.msgMX').text(t); var popMargTop = ($('#boxMX').height() + 24) / 2, popMargLeft = ($('#boxMX').width() + 24) / 2; 
$('#boxMX').css({ 'margin-top' : -popMargTop,'margin-left' : -popMargLeft}).fadeIn(600);
$("#boxMX").click(function() { $(this).remove(); });  };

Jqueryを含め、javascriptを使用します。

alertMX('Hello!');
3
Carlos Sousa

ブラウザがアラートを表示する方法を制御することはできません。代わりに、メッセージとともにdivを表示する独自の関数を作成する必要があります。それはそのようなものかもしれません:

function customAlert(msg) {
var alertDiv = "<div style='position: fixed; top: 20px; left: 20px;'>"+msg+"</div>";
document.getElementsByTagName('body')[0].appendChild(alertDiv);
}

もちろん、必要な場所にdivを適切に配置するために、そこで計算を行う必要があります。また、jQueryまたは他のjsフレームワークを使用するとはるかに簡単になります...

[編集] JSからポップアップを強制する場合は、そのようなものを試してください。 ポップアップの例

1
Moby04