vendor/assets/javascripts/cloudinary/jquery.iframe-transport.js in cloudinary-1.8.2 vs vendor/assets/javascripts/cloudinary/jquery.iframe-transport.js in cloudinary-1.8.3
- old
+ new
@@ -4,14 +4,14 @@
*
* Copyright 2011, Sebastian Tschan
* https://blueimp.net
*
* Licensed under the MIT license:
- * http://www.opensource.org/licenses/MIT
+ * https://opensource.org/licenses/MIT
*/
-/* global define, require, window, document */
+/* global define, require, window, document, JSON */
;(function (factory) {
'use strict';
if (typeof define === 'function' && define.amd) {
// Register as an anonymous AMD module:
@@ -25,12 +25,19 @@
}
}(function ($) {
'use strict';
// Helper variable to create unique names for the transport iframes:
- var counter = 0;
+ var counter = 0,
+ jsonAPI = $,
+ jsonParse = 'parseJSON';
+ if ('JSON' in window && 'parse' in JSON) {
+ jsonAPI = JSON;
+ jsonParse = 'parse';
+ }
+
// The iframe transport accepts four additional options:
// options.fileInput: a jQuery collection of file input fields
// options.paramName: the parameter name for the file form data,
// overrides the name property of the file input field(s),
// can be a string or an array of strings.
@@ -195,10 +202,10 @@
converters: {
'iframe text': function (iframe) {
return iframe && $(iframe[0].body).text();
},
'iframe json': function (iframe) {
- return iframe && $.parseJSON($(iframe[0].body).text());
+ return iframe && jsonAPI[jsonParse]($(iframe[0].body).text());
},
'iframe html': function (iframe) {
return iframe && $(iframe[0].body).html();
},
'iframe xml': function (iframe) {