Maison  >  Article  >  interface Web  >  Solution à l'incompatibilité de la méthode Google showModalDialog() lorsque la fenêtre de dialogue apparaît_compétences javascript

Solution à l'incompatibilité de la méthode Google showModalDialog() lorsque la fenêtre de dialogue apparaît_compétences javascript

WBOY
WBOYoriginal
2016-05-16 15:15:411306parcourir

showModalDialog, dans le test, fonctionne normalement dans IE et Firefox, mais dans Google, il n'y a pas de réponse après avoir cliqué. J'ai regardé en ligne et j'ai découvert que Google Chrome ne prend pas en charge la boîte de dialogue modale showModalDialog et ne peut pas renvoyer la valeur de retour que j'ai obtenue. une solution

<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> 

Enfin, si vous souhaitez cliquer, une boîte de dialogue apparaîtra. Utilisez simplement l'événement onclick pour appeler la méthode

Ce qui précède vous présente l'analyse et les solutions au problème des fenêtres de dialogue incompatibles apparaissant dans la méthode showModalDialog() de Google. J'espère que cela sera utile à tout le monde.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn