1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-04-21 19:21:55 +02:00

fix expr evaluation in child frame

This commit is contained in:
Kushagra Gour 2019-02-28 18:29:04 +05:30
parent 956eeb3cc4
commit a86ac7ca47
3 changed files with 11 additions and 2 deletions

View File

@ -69,6 +69,8 @@ export default class ContentWrap extends Component {
}
componentDidMount() {
this.props.onRef(this);
// Listen for logs from preview frame
window.addEventListener('message', e => {
if (e.data && e.data.logs) {
this.onMessageFromConsole(...e.data.logs);

View File

@ -117,6 +117,8 @@ export default class ContentWrapFiles extends Component {
}
componentDidMount() {
this.props.onRef(this);
// Listen for logs from preview frame
window.addEventListener('message', e => {
if (e.data && e.data.logs) {
this.onMessageFromConsole(...e.data.logs);
@ -616,7 +618,7 @@ export default class ContentWrapFiles extends Component {
this.onMessageFromConsole('> ' + e.target.value);
/* eslint-disable no-underscore-dangle */
this.frame.contentWindow._wmEvaluate(e.target.value);
this.frame.contentWindow.postMessage({ exprToEval: e.target.value }, '*');
/* eslint-enable no-underscore-dangle */

View File

@ -221,8 +221,13 @@ window._wmEvaluate = function _wmEvaluate(expr) {
try {
var result = eval(expr);
} catch (e) {
sendLog(e);
sendLog(e.stack || e.message);
return;
}
sendLog(result)
};
window.addEventListener('message', e => {
if(e.data && e.data.exprToEval) {
_wmEvaluate(e.data.exprToEval);
}
})