阿里云首页 智能媒体管理

释放对象

由于iframe的跨域安全限制,无法直接调用iframe内部的函数和变量。JS-SDK提供的高级接口对象只是iframe内部对象的映射,通过postMessage进行通信,所以部分对象需要手动销毁。

说明

需要手动释放的对象均会在文档中说明,请以文档说明为准。

接入方网页和文档在线编辑的关系如下图所示:

fig_IMM_object001

手动释放对象

手动释放单个对象示例:

const app = instance.ExcelApplication();

//例如表格获取WorkSheet对象
const sheet = instance.Sheets.Item('sheet1');

//此时得到的sheet对象只是一个映射对象,它拥有iframe内部对象的所有属性和方法,该对象的所有属性和方法都会映射到iframe内部
sheet.Activate(); //切换sheet

//...do something

//不需要改对象时,可以手动销毁
//此时会通知iframe内部销毁对应对象
sheet.Destroy();

批量释放对象

当有多个对象需要销毁时,可以按照区间批量释放对象。

代码示例:

const stack = app.Stack();

//...do something

stack.End(); //在stack区间的对象都会被销毁