Chrome showModalDialog bug and not working
 

Google Chrome Ağustos 2014 ayı içerisinde yeni versiyon güncellemesi yaparak "37.0.2062.103" numaralı versiyonunu bilgisayarlarımıza otomatik olarak kurdu. Fakat son çıkan versiyon bug'lar ile birlikte geldi. Birçok yabancı forumda da Google Chrome'un son versiyonunun bug'larından bahsedilen başlıkları bulabilirsiniz.

Bizi etkileyen bug'ı ise projemizde kullandığımız Javascript popup tipi olan showModalDialog'ların Chrome'un son versiyonu ile çalışmaması oldu.Buna çözüm olarak Javascript window.showModalDialog yerine window.open kullanmaya karar verdik. Fakat projedeki tüm showModalDialog'ları elle replace etmek ve özelliklerini değiştirmek yerine bir javascript ile javascript showModalDialog metodunu override ederek ve geriye window.open popup tipi döndürmesini sağlayacak şekilde script geliştirip bunun master sayfamıza koyduğumuzda birkaç satır ile showModalDialog içeren tüm sayfalarda window.open kullanılmasını sağlamış olduk. Kodumuz;

Chrome showModalDialog not working solution and Javascript showModalDialog override method

     <script type="text/javascript">

        jQuery(document).ready(function () {

            window.showModalDialog = function (url, title, options) {

                options = options.replace('dialogWidth:', 'width=').replace('dialogHeight:', 'height=').replace(';help:no', '').replace('status:no', 'status=0').replace('scroll:auto', 'scrollbars=1').replace(';dialogHide:true', '').replace(';', ','); // showModalDialog verdiğimiz özellikleri window.open'da uygun olacak şekilde repalce ettik.

                return window.open(url, null, options); // Geriye window.open popup döndürdük.

            }

        });

    </script>

 

Author: Engin ATALAY
Date: 11.09.2014 11:07:44
View Count: 1413
 
 

COMMENTS
 
No comments yet. Be the first to comment who you are.
 
 
 
 
 
 
 
WRITE COMMENT
 
 
Your Name :
 
 
 
E-mail :
 
 
 
Your Message :
 
 
 
 
 
 
 
This project : ASP.NET MVC , RAZOR, Entity Framework , CSS , HTML , JQUERY(2.0.2) , AJAX the C# side-tier architecture was developed with logic.
 
Yukarı Çık