Applied patch by bencurthoys to fix embed api
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1734 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
@@ -3992,48 +3992,47 @@
|
||||
// var lang = ('lang' in curPrefs) ? curPrefs.lang : null;
|
||||
Editor.putLocale(null, good_langs);
|
||||
|
||||
// Not sure what this was being used for...commented out until known.
|
||||
// The "message" event listener was interfering with image lib responder
|
||||
// try{
|
||||
// json_encode = function(obj){
|
||||
// //simple partial JSON encoder implementation
|
||||
// if(window.JSON && JSON.stringify) return JSON.stringify(obj);
|
||||
// var enc = arguments.callee; //for purposes of recursion
|
||||
// if(typeof obj == "boolean" || typeof obj == "number"){
|
||||
// return obj+'' //should work...
|
||||
// }else if(typeof obj == "string"){
|
||||
// //a large portion of this is stolen from Douglas Crockford's json2.js
|
||||
// return '"'+
|
||||
// obj.replace(
|
||||
// /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g
|
||||
// , function (a) {
|
||||
// return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
||||
// })
|
||||
// +'"'; //note that this isn't quite as purtyful as the usualness
|
||||
// }else if(obj.length){ //simple hackish test for arrayish-ness
|
||||
// for(var i = 0; i < obj.length; i++){
|
||||
// obj[i] = enc(obj[i]); //encode every sub-thingy on top
|
||||
// }
|
||||
// return "["+obj.join(",")+"]";
|
||||
// }else{
|
||||
// var pairs = []; //pairs will be stored here
|
||||
// for(var k in obj){ //loop through thingys
|
||||
// pairs.push(enc(k)+":"+enc(obj[k])); //key: value
|
||||
// }
|
||||
// return "{"+pairs.join(",")+"}" //wrap in the braces
|
||||
// }
|
||||
// }
|
||||
// window.addEventListener("message", function(e){
|
||||
// var cbid = parseInt(e.data.substr(0, e.data.indexOf(";")));
|
||||
// try{
|
||||
// e.source.postMessage("SVGe"+cbid+";"+json_encode(eval(e.data)), e.origin);
|
||||
// }catch(err){
|
||||
// e.source.postMessage("SVGe"+cbid+";error:"+err.message, e.origin);
|
||||
// }
|
||||
// }, false)
|
||||
// }catch(err){
|
||||
// window.embed_error = err;
|
||||
// }
|
||||
// Callback handler for embedapi.js
|
||||
try{
|
||||
json_encode = function(obj){
|
||||
//simple partial JSON encoder implementation
|
||||
if(window.JSON && JSON.stringify) return JSON.stringify(obj);
|
||||
var enc = arguments.callee; //for purposes of recursion
|
||||
if(typeof obj == "boolean" || typeof obj == "number"){
|
||||
return obj+'' //should work...
|
||||
}else if(typeof obj == "string"){
|
||||
//a large portion of this is stolen from Douglas Crockford's json2.js
|
||||
return '"'+
|
||||
obj.replace(
|
||||
/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g
|
||||
, function (a) {
|
||||
return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
||||
})
|
||||
+'"'; //note that this isn't quite as purtyful as the usualness
|
||||
}else if(obj.length){ //simple hackish test for arrayish-ness
|
||||
for(var i = 0; i < obj.length; i++){
|
||||
obj[i] = enc(obj[i]); //encode every sub-thingy on top
|
||||
}
|
||||
return "["+obj.join(",")+"]";
|
||||
}else{
|
||||
var pairs = []; //pairs will be stored here
|
||||
for(var k in obj){ //loop through thingys
|
||||
pairs.push(enc(k)+":"+enc(obj[k])); //key: value
|
||||
}
|
||||
return "{"+pairs.join(",")+"}" //wrap in the braces
|
||||
}
|
||||
}
|
||||
window.addEventListener("message", function(e){
|
||||
var cbid = parseInt(e.data.substr(0, e.data.indexOf(";")));
|
||||
try{
|
||||
e.source.postMessage("SVGe"+cbid+";"+json_encode(eval(e.data)), "*");
|
||||
}catch(err){
|
||||
e.source.postMessage("SVGe"+cbid+";error:"+err.message, "*");
|
||||
}
|
||||
}, false)
|
||||
}catch(err){
|
||||
window.embed_error = err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user