Also use encodeURIComponent() instead of escape() so the UTF-8 characters stay intact.
Also, fix the print macro help popup window size.
Signed-off-by: Pasi Kallinen <pasi.kallinen@pttk.fi>
function openWindow( data ) {
if( isXUL() ) {
- var data = window.escape(
+ var data = window.encodeURIComponent(
'<html><head><title></title></head><body>' + data + '</body></html>');
xulG.window_open(
- 'data:text/html,' + data,
+ 'data:text/html;charset=UTF-8,' + data,
'',
'chrome,resizable,width=700,height=500');
try {
if (x.readyState != 4) return;
if (x.status == 200) {
- window.open('data:text/html,'+window.escape(x.responseText),'upgrade','chrome,resizable,modal,centered');
+ window.open('data:text/html;charset=UTF-8,'+window.encodeURIComponent(x.responseText),'upgrade','chrome,resizable,modal,centered');
} else {
if(typeof(G.upgradeCheck) == "function")
{
if (r == 1) {
JSAN.use('util.window'); var win = new util.window();
win.open(
- 'data:text/plain,' + window.escape( 'Please open a helpdesk ticket and include the following text: \n\n' + (new Date()) + '\n\n' + msg + '\n\n' + obj.pretty_print(js2JSON(E)) ),
+ 'data:text/plain;charset=UTF-8,' + window.encodeURIComponent( 'Please open a helpdesk ticket and include the following text: \n\n' + (new Date()) + '\n\n' + msg + '\n\n' + obj.pretty_print(js2JSON(E)) ),
'error_alert',
'chrome,resizable,width=700,height=500'
);
});
break;
default:
- w = obj.win.open('data:' + content_type + ',' + window.escape(msg),'receipt_temp','chrome,resizable');
+ w = obj.win.open('data:' + content_type + ',' + window.encodeURIComponent(msg),'receipt_temp','chrome,resizable');
w.minimize();
setTimeout(
function() {
}
} else {
if (params.content_type == 'text/plain') {
- w = window.open('data:text/plain,'+escape(params.msg),'','chrome');
+ w = window.open('data:text/plain;charset=UTF-8,'+encodeURIComponent(params.msg),'','chrome');
} else {
- w = window.open('data:text/html,'+escape(params.msg),'','chrome');
+ w = window.open('data:text/html;charset=UTF-8,'+encodeURIComponent(params.msg),'','chrome');
}
setTimeout(
function() {
obj._NSPrint_webBrowserPrint(w,silent,params);
} else {
if (params.content_type == 'text/plain') {
- w = window.open('data:text/plain,'+escape(params.msg),'','chrome');
+ w = window.open('data:text/plain;charset=UTF-8,'+encodeURIComponent(params.msg),'','chrome');
} else {
- w = window.open('data:text/html,'+escape(params.msg),'','chrome');
+ w = window.open('data:text/html;charset=UTF-8,'+encodeURIComponent(params.msg),'','chrome');
}
setTimeout(
function() {
for (var i = 0; i < obj.sel_errors.length; i++) {
var error = obj.errors[ obj.sel_errors[i] ];
win.open(
- 'data:text/plain,' + window.escape(
+ 'data:text/plain;charset=UTF-8,' + window.encodeURIComponent(
'Details:\n' + obj.error.pretty_print(js2JSON(error))
),
'offline_error_details',
function(req) {
var marc_html = req.getResultObject();
if (noprint||typeof xulG == 'undefined') marc_html = marc_html.replace(/<button.+?button>/, '');
- document.getElementById('marc_frame').setAttribute('src', 'data:text/html,' + encodeURIComponent(marc_html));
+ document.getElementById('marc_frame').setAttribute('src', 'data:text/html;charset=UTF-8,' + encodeURIComponent(marc_html));
}
);
} else {
var marc_html = '<h1>' + document.getElementById('catStrings').getString('bib.no_marc') + '</h1>';
- document.getElementById('marc_frame').setAttribute('src', 'data:text/html,' + marc_html);
+ document.getElementById('marc_frame').setAttribute('src', 'data:text/html;charset=UTF-8,' + marc_html);
}
} catch(E) {
var macro_string = macros.join(', ');
JSAN.use('util.window');
var win = new util.window();
- win.open('data:text/html,'
- + window.escape(
- '<html style="width: 600; height: 400;">'
+ win.open('data:text/html;charset=UTF-8,'
+ + window.encodeURIComponent(
+ '<html>'
+ '<head><title>'
+ document.getElementById('circStrings').getString('staff.circ.print_list_template.window.title')
+ '</title></head>'
+ document.getElementById('circStrings').getString('staff.circ.print_list_template.window.close')
+ '</button>'
+ '</body></html>'
- ), 'title', 'chrome,resizable');
+ ), 'title', 'width=600,height=400,chrome,resizable');
} catch(E) {
alert(E);
}
['command'],
function(ev) {
if (obj.msg_url) {
- obj.right_deck.set_iframe('data:text/html,'+obj.msg_url,{},{});
+ obj.right_deck.set_iframe('data:text/html;charset=UTF-8,'+obj.msg_url,{},{});
} else {
- obj.right_deck.set_iframe('data:text/html,<h1>' + $("patronStrings").getString('staff.patron.display.no_alerts_or_messages') + '</h1>',{},{});
+ obj.right_deck.set_iframe('data:text/html;charset=UTF-8,<h1>' + $("patronStrings").getString('staff.patron.display.no_alerts_or_messages') + '</h1>',{},{});
}
}
],
if (msg != obj.old_msg) {
//obj.error.yns_alert(msg,'Alert Message','OK',null,null,'Check here to confirm this message.');
document.documentElement.firstChild.focus();
- var data_url = window.escape("<img src='" + xulG.url_prefix('/xul/server/skin/media/images/stop_sign.png') + "'/>" + '<h1>'
+ var data_url = window.encodeURIComponent("<img src='" + xulG.url_prefix('/xul/server/skin/media/images/stop_sign.png') + "'/>" + '<h1>'
+ $("patronStrings").getString('staff.patron.display.init.network_request.window_title') + '</h1><blockquote><p>' + msg + '</p>\r\n\r\n<pre>'
+ $("patronStrings").getString('staff.patron.display.init.network_request.window_message') + '</pre></blockquote>');
- obj.right_deck.set_iframe('data:text/html,'+data_url,{},{});
+ obj.right_deck.set_iframe('data:text/html;charset=UTF-8,'+data_url,{},{});
obj.old_msg = msg;
obj.msg_url = data_url;
} else {