MDL-39810 Files: IE doesn't recognize JSON MIME Type (RFC4627).
Affected versions: - IE 8+, under Compatibility View.
This commit is contained in:
@@ -3344,9 +3344,19 @@ class core_renderer_ajax extends core_renderer {
|
||||
* Prepares the start of an AJAX output.
|
||||
*/
|
||||
public function header() {
|
||||
// MDL-39810: IE doesn't support JSON MIME type if version < 8 or when it runs in Compatibility View.
|
||||
$supports_json_contenttype = !check_browser_version('MSIE') ||
|
||||
(check_browser_version('MSIE', 8) &&
|
||||
!(preg_match("/MSIE 7.0/", $_SERVER['HTTP_USER_AGENT']) && preg_match("/Trident\/([0-9\.]+)/", $_SERVER['HTTP_USER_AGENT'])));
|
||||
// unfortunately YUI iframe upload does not support application/json
|
||||
if (!empty($_FILES)) {
|
||||
@header('Content-type: text/plain; charset=utf-8');
|
||||
if (!$supports_json_contenttype) {
|
||||
@header('X-Content-Type-Options: nosniff');
|
||||
}
|
||||
} else if (!$supports_json_contenttype) {
|
||||
@header('Content-type: text/plain; charset=utf-8');
|
||||
@header('X-Content-Type-Options: nosniff');
|
||||
} else {
|
||||
@header('Content-type: application/json; charset=utf-8');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user