美文网首页
不能运行已经释放的scipt代码

不能运行已经释放的scipt代码

作者: 好吃的野菜 | 来源:发表于2018-04-06 01:04 被阅读13次

问题描述

前一段时间项目中需要做一个自定义表单编辑器(类似下图的一个东东),因为我们前端是基于四列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”


相关文章

  • 不能运行已经释放的scipt代码

    问题描述 前一段时间项目中需要做一个自定义表单编辑器(类似下图的一个东东),因为我们前端是基于四列table布局,...

  • __slots__节省内存空间

    动态语言:可以在运行的过程中,修改代码 静态语言:编译时已经确定好代码,运行过程中不能修改 如果我们想要限制实例的...

  • C/C++沉思-----多态时一定要将父类(基类)的析构函数定义

    先来看一段代码: 程序运行截图: 从程序的运行结果来看,程序最后只释放了父类的内存,子类的内存并没有释放。则这段程...

  • Lucene 7.1.0 入门

    Lucene 7.1.0 相比以前的版本, 代码发生了一些变化, 如果还按照以前的写法的话, 代码已经不能正常运行...

  • iOS - 面试总结

    ARC是在预编译期、编译期、运行时进行的代码填充? ARC是一个预编译的步骤,将保留/释放/自动释放你的代码对你的...

  • unowned

    代码1: 代码2: 对比代码1, 代码2, unowned 的安全处理, 在不能确定对象释放时机的情况下, 最好用...

  • pycharm 设置默认信息 作者 编码等

    File-Setting-Editor-File and Code Templates-Python Scipt ...

  • JavaScript基础(一)

    1.代码写在scipt标签内。 2.定义数组 3.各种事件 4.事件与文本框: 写在body的form内。 5.事...

  • 线程状态

    sleep,yield 不释放锁 运行结果: wait释放锁 运行结果:

  • git基础1

    什么是WIP? Work in progress, 半成品代码, 不能commit的代码, 运行git stas...

网友评论

      本文标题:不能运行已经释放的scipt代码

      本文链接:https://www.haomeiwen.com/subject/hnljhftx.html