[FIX] web_enterprise: kanban_state_selection ie
On IE (from 9.0 up to at least IE EDGE 14) we have this behavior for the method serializeToString of XMLSerializer: > (new XMLSerializer()).serializeToString($('<b>"</b>')[0]) '<b xmlns="http://www.w3.org/1999/xhtml">"</b>' > (new XMLSerializer()).serializeToString($('<b>"</b>')[0].firstChild) '"' Whilst browser such as chromium or firefox have: > (new XMLSerializer()).serializeToString($('<b>"</b>')[0]) '<b xmlns="http://www.w3.org/1999/xhtml">"</b>' > (new XMLSerializer()).serializeToString($('<b>"</b>')[0].firstChild) '"' Hence for IE9 and over, if in a `<t t-extend/>` a `t-jquery` sub-directive (without `t-operation`) is available, we can have broken javascript if a " is transformed into an " at a unfortunate location. This commit favour node.data over XMLSerializer serializeToString to avoid the possibility of this issue when a text node is processed. opw-727283
This commit is contained in:
parent
0ae30c5997
commit
716ceede16
|
@ -120,12 +120,15 @@ var QWeb2 = {
|
|||
}
|
||||
return r.join('');
|
||||
} else {
|
||||
// avoid XMLSerializer with text node for IE
|
||||
if (node.nodeType == 3) {
|
||||
return node.data;
|
||||
}
|
||||
if (typeof XMLSerializer !== 'undefined') {
|
||||
return (new XMLSerializer()).serializeToString(node);
|
||||
} else {
|
||||
switch(node.nodeType) {
|
||||
case 1: return node.outerHTML;
|
||||
case 3: return node.data;
|
||||
case 4: return '<![CDATA[' + node.data + ']]>';
|
||||
case 8: return '<!-- ' + node.data + '-->';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue