问题描述
前一段时间项目中需要做一个自定义表单编辑器(类似下图的一个东东),因为我们前端是基于四列table布局,因此这个编辑器可以拖动一些封装好的组件到左侧表格相应的位置,当然拖动过程中有相应的交互提示,拖放好的组件还可以通过点击选中为其配置属性。
自定义表单编辑器上面是一大段废话,有相关开发需求或者感兴趣的小伙伴可以私信我交流。
在做这个自定义表单编辑器的过程中,因为要处理母子页面的相互访问问题,所以遇到了“不能运行已经释放的script代码”错误(没办法,公司原因必须兼容IE浏览器)。
在看到这个问题的时候头就比较大,因为明明chrome浏览器毫无问题,放到IE浏览器下就是各种报错,困扰了很长一段时间。
user166390 在stackoverflow (参考资料1) 这样描述该问题的产生原因:
The error is caused when the 'parent' window of script is disposed (ie: closed) but a reference to the script which is still held (such as in another window) is invoked.
为了说清楚问题的产生原因,写了三个简单的示例页面:
```
代码
```
解决方案
参考资料
1. stackoverflow - What causes the error “Can't execute code from a freed script”
网友评论