Bug 12708 - Unexpected behaviour in IE 9 and lower when using openWindow
authorDavid Cook <dcook@prosentient.com.au>
Mon, 4 Aug 2014 03:49:56 +0000 (13:49 +1000)
committerTomas Cohen Arazi <tomascohen@gmail.com>
Tue, 19 Aug 2014 12:31:25 +0000 (09:31 -0300)
This patch removes the whitespace from arguments to the "name" parameter
in "window.open". It also adds a trap for the "openWindow" helper
function, which will use a "null" instead of a "name" if window.open
isn't able to handle a name with whitespace (i.e. if it's IE <= 9).

_TEST PLAN_

1) Switch to an emulated or authentic Internet Explorer version E 9
or lower
2) Click "Help"
3) Note that it opens the page in the current window rather than as a popup

4) Apply the patch

5) Shift refresh your page
6) Click "Help"
7) Note that it now opens (correctly) as a pop-up

(If you want to be more thorough, you can test in other browsers as well
to make sure that it still works.)

Tested with IE 10 developer tools: IE7, IE 8, IE 9
Window pops up as expected. No regression found with IE 10 / FF31.0
Signed-off-by: Marc VĂ©ron <veron@veron.ch>

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Tested for regressions in Firefox and Chromium.
I checked the help and the duplicate authorities windows
still work correctly.
Passes tests and QA script.

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>

koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/authorities.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tt

index c553a6d..fa75b44 100644 (file)
@@ -81,7 +81,7 @@ function logOut(){
 }
 
 function openHelp(){
-    openWindow("/cgi-bin/koha/help.pl","Koha help",600,600);
+    openWindow("/cgi-bin/koha/help.pl","KohaHelp",600,600);
 }
 
 jQuery.fn.preventDoubleFormSubmit = function() {
@@ -98,7 +98,12 @@ function openWindow(link,name,width,height) {
     name = (typeof name == "undefined")?'popup':name;
     width = (typeof width == "undefined")?'600':width;
     height = (typeof height == "undefined")?'400':height;
-    var newin=window.open(link,name,'width='+width+',height='+height+',resizable=yes,toolbar=false,scrollbars=yes,top');
+    //IE <= 9 can't handle a "name" with whitespace
+    try {
+        var newin=window.open(link,name,'width='+width+',height='+height+',resizable=yes,toolbar=false,scrollbars=yes,top');
+    } catch(e) {
+        var newin=window.open(link,null,'width='+width+',height='+height+',resizable=yes,toolbar=false,scrollbars=yes,top');
+    }
 }
 
 // Use this function to remove the focus from any element for
index a3329cd..ea47100 100644 (file)
@@ -154,7 +154,7 @@ function confirmnotdup(redirect){
 [% IF ( duplicateauthid ) %]
         <div class="dialog alert">
                 <h4>Duplicate record suspected</h4>
-                <p>Is this a duplicate of <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% duplicateauthid %]" onclick="openWindow('/cgi-bin/koha/authorities/detail.pl?authid=[% duplicateauthid %]&amp;popup=1', 'Duplicate authority','800','600'); return false;" class="button">[% duplicateauthvalue %]</a>?</p>
+                <p>Is this a duplicate of <a href="/cgi-bin/koha/authorities/detail.pl?authid=[% duplicateauthid %]" onclick="openWindow('/cgi-bin/koha/authorities/detail.pl?authid=[% duplicateauthid %]&amp;popup=1', 'DuplicateAuthority','800','600'); return false;" class="button">[% duplicateauthvalue %]</a>?</p>
 
                 <form action="authorities.pl" method="get">
                     <input type="hidden" name="authid" value="[% duplicateauthid %]" />
index 5dc1a5f..790a57b 100644 (file)
@@ -403,7 +403,7 @@ function Changefwk(FwkList) {
         [% IF ( duplicatebiblionumber ) %]
                     <div class="dialog alert">
                         <h4>Duplicate record suspected</h4>
-                        <p>Is this a duplicate of <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]" onclick="openWindow('/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]&amp;popup=1', 'Duplicate biblio','800','600'); return false;">[% duplicatetitle %]</a>?</p>
+                        <p>Is this a duplicate of <a href="/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]" onclick="openWindow('/cgi-bin/koha/catalogue/MARCdetail.pl?biblionumber=[% duplicatebiblionumber %]&amp;popup=1', 'DuplicateBiblio','800','600'); return false;">[% duplicatetitle %]</a>?</p>
                         [% IF ( CAN_user_editcatalogue_edit_items ) %]<form action="/cgi-bin/koha/cataloguing/additem.pl" method="get">
                                                     <input type="hidden" name="biblionumber" value="[% duplicatebiblionumber %]" />
                                                     <input type="submit" class="edit" value="Yes: Edit existing items" />