123456789101112131415161718192021222324252627282930313233343536373839404142 |
- svgEditor.addExtension('xdomain-messaging', function() {'use strict';
- try {
- window.addEventListener('message', function(e) {
-
- if (typeof e.data !== 'string' || e.data.charAt() === '|') {
- return;
- }
- var cbid, name, args, message, allowedOrigins, data = JSON.parse(e.data);
- if (!data || typeof data !== 'object' || data.namespace !== 'svgCanvas') {
- return;
- }
-
-
- allowedOrigins = svgEditor.curConfig.allowedOrigins;
- if (allowedOrigins.indexOf('*') === -1 && allowedOrigins.indexOf(e.origin) === -1) {
- return;
- }
- cbid = data.id;
- name = data.name;
- args = data.args;
- message = {
- namespace: 'svg-edit',
- id: cbid
- };
- try {
- message.result = svgCanvas[name].apply(svgCanvas, args);
- } catch (err) {
- message.error = err.message;
- }
- e.source.postMessage(JSON.stringify(message), '*');
- }, false);
- }
- catch (err) {
- console.log('Error with xdomain message listener: ' + err);
- }
- });
|