ホームページ  >  記事  >  ウェブフロントエンド  >  ダイアログウィンドウが表示される場合の Google showModalDialog() メソッドの非互換性の解決策_JavaScript スキル

ダイアログウィンドウが表示される場合の Google showModalDialog() メソッドの非互換性の解決策_JavaScript スキル

WBOY
WBOYオリジナル
2016-05-16 15:15:411305ブラウズ

showModalDialog は、テストでは IE と Firefox では正常に動作しましたが、Google ではクリックしても応答がありませんでした。オンラインで調べたところ、Google Chrome は showModalDialog モーダル ダイアログ ボックスをサポートしておらず、取得した returnValue を返すことができないことがわかりました。解決策

<script type="text/javascript">
//开启模式窗口
function showMyModal() {
var url = "SelectUser.aspx";
//传入参数示例
var modalReturnValue = myShowModalDialog(url, window, 300, 500);
//alert(modalReturnValue.name);
//窗口关闭后执行某些方法
//TODO sth
}
//弹出框google Chrome执行的是open
function myShowModalDialog(url, args, width, height) {
var tempReturnValue;
if (navigator.userAgent.indexOf("Chrome") > 0) {
var paramsChrome = 'height=' + height + ', width=' + width + ', top=' + (((window.screen.height - height) / 2) - 50) +
',left=' + ((window.screen.width - width) / 2) + ',toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no';
window.open(url, "newwindow", paramsChrome);
}
else {
var params = 'dialogWidth:' + width + 'px;dialogHeight:' + height + 'px;status:no;dialogLeft:'
+ ((window.screen.width - width) / 2) + 'px;dialogTop:' + (((window.screen.height - height) / 2) - 50) + 'px;';
tempReturnValue = window.showModalDialog(url, args, params);
}
return tempReturnValue;
}
</script> 

最後に、クリックしたい場合は、onclick イベントを使用してメソッド
を呼び出すだけです。

上記では、Google の showModalDialog() メソッドに表示される互換性のないダイアログ ウィンドウの問題の分析と解決策を紹介しました。皆様のお役に立てれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。