在上周开发中遇上个恶心的问题,IE报错:“不能执行已释放的 script 代码”。当时已进入测试阶段,测试人员5点30提出的bug,自己一直搞到7:30才解决,这是没有任何补偿的加班。

背景概述:一个功能,两个主页面,这两个页面是单独的。这个功能的开发主要是本人负责,但是第二个主页面不是我写的,问题也就出在了第二个主页面上(以下以二主简称)。该页面上的操作逻辑是这样,选择人员(datagrid),选择项目-弹出窗口(datagrid)选择完成数据传递到该页面(二主),然后选择角色,点击保存(分配/替换),弹出确认页面,确认页面上有一些数据确认数据,点确认会从确认页面用ajax向后台传值。这时,Duang~前台报错了(在测试那里就是没反应了)。

这还是第一次遇到这个问题,之前自测时并没遇到,经对比测试数据发现使用历史数据可,新发起的项目就会报错,原因在于将项目信息转为json时调用了jquery的日期类型转换的函数,这时就会报错。历史数据不报错是因为历史数据没有存储日期相关的数据,因此也不存在转换调用函数的问题。

经过分析了解了是项目数据的问题,那么为什么项目项目数据就存在已释放的问题?追踪代码发现,在二主与项目选择页面传递数据是这么做的,当选择项目页面关闭时,如果是点击了保存按钮就调用选择项目页面的getData方法获取数据(var $tempData = this.getIFrameEl().contentWindow.getData();),获得数据后页面即关闭。这种方式在二主上显示正常,但是再对数据进行操作时便出现了问题。因为当页面关闭,页面的脚本被释放,原本一些函数对象指向的脚本就找不到了,因此报了标题的错误【不能执行已释放的 sript 代码】。

shit,分析到这里才知道怎么解决。我的解决方案就是换中数据传递方式:在页面关闭时,将需要的数据当成参数传递回二主页面。代码如下:

选择项目页面:
function saveData(){
var action={"flag":"ok","rows":{}};
action.rows = nui.encode({"rows":getData()});
CloseWindow(action);
}

二主页面:
if (action && action.flag == 'ok') {
var $tempData = nui.decode(action.rows).rows;

// 这里拿到的数据就可以用了.
}

转成json传递最保险了,没转换还是会报【不能执行已释放的 sript 代码】这个错误。

ps:和第一个页面没关系,提及第一个主页面只是想保留更多的开发细节,方便以后的回忆。

【不能执行已释放的 sript 代码】 已解决 命名【疾风】相关推荐

  1. 不能执行已释放 Script 的代码

    ASP.NET相关技术交流群205914059 我在父页面里定义了一个全局变量 Exp2  在打开子页面的时候 我读取父页面的Exp2 值 给子页面的函数做配置参数. 子页面 function Cre ...

  2. 不能执行已释放 script 的代码_[漏洞预警]CVE20190708远程桌面代码执行漏洞利用工具已放出...

    漏洞描述 2019年5月14日微软官方发布安全补丁,修复了Windows远程桌面服务的远程代码执行漏洞,该漏洞影响了许多版本的Windows操作系统.该漏洞在不需身份认证的情况下即可远程触发,危害与影 ...

  3. 爬取微信好友信息,进行可视化分析(头像人脸识别部分已更新!)(代码已上传)

    [Code]下载 1.项目说明 本次项目主要实现了以下功能: 2.微信好友信息的获取与文件存储 3.微信好友性别分析 4.微信好友地区分布可视化 5.微信好友个性签名词云图及好友备注词云图 6.微信好 ...

  4. 思科提醒:多款交换机存在多个RCE漏洞且利用代码已公开

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 今天,思科提醒客户称,多款 Small Business 系列交换机中存在四个严重的远程代码执行漏洞,且利用代码已遭公开. 这四个漏洞的 CVS ...

  5. android imageview.setVisibility(View.VISIBLE)设置无效,代码已执行但是图片不显示

    android imageview.setVisibility(View.VISIBLE)设置无效,代码已执行但是图片不显示 在网上找了很多文章,基本上都是说在设置setVisibility()之前, ...

  6. 徒手撸了一个API网关,理解更透彻了,代码已上传github,自取~

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 一.背景 最近在github上看了soul网关的设计,突然 ...

  7. java编程石头剪刀布图片_石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源...

    原标题:石头.剪刀.布!10分钟带你打开深度学习大门,代码已开源 沉沉 发自 宇宙中心 量子位 出品 | 公众号 QbitAI 深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即 ...

  8. Asp.Net异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值的解决方法...

    今天项目中碰到一个以前从没有见过的异常信息"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值",于是查了一下资料,原来此异常是由于我在代码中使用了"Re ...

  9. 树状图栏目切换_AAAI 2020 | 中山大学HCP实验室:基于树状结构策略的渐进强化学习,代码已开源...

    作者 | 吴捷 编辑 | Camel 本文对中山大学.北京航空航天大学.DMAI合作完成,被AAAI2020录用的一篇关于多模态视频理解的论文<Tree-Structured Policy ba ...

  10. 异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值...

    在一般处理程序中执行 context.Response.End()方法会报出:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"这个异常. 对于这个异常微软有解 ...

最新文章

  1. 斯坦福Google | 面向机器人的机器学习(附63页PPT下载)
  2. haproxy负载均衡
  3. UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
  4. 大小端交换的程序_APP端常见测试功能点
  5. 树形控件(CTreeCtrl和CTreeView)
  6. Linux(5) 组管理和权限管理
  7. 通过yum install 方式安装snmp包遇到的问题,gsk7bas64-7.0-4.44.x86_64 has missing libstdc++.so.*等
  8. ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
  9. UA PHYS515A 电磁理论IV 时变电磁场理论4 电磁场的动量与麦克斯韦压缩能张量
  10. DISCUZ代码分析
  11. lvds接口屏线安装图解_液晶屏上的LVDS,TTL,RSDS三种接口的详解
  12. 软件测试之因果图法(P24——P26)
  13. 只是浅谈MS SQL Server的Page Splits运作原理
  14. HDMI切换器的各种版本能不能互通?
  15. 小米智能插座、小米温湿度计2、涂鸦灯泡 接入Home Assistant
  16. I2S总线学习:I2S数据格式
  17. axios请求415错误Uncaught (in promise) Error: Request failed with status code 415
  18. Java诊断工具-Arthas入门与实践
  19. 门禁控制器的选购指南
  20. 王天羲:构建以客户中心的全整合企业

热门文章

  1. 大连理工计算机基础作业2,大工18秋《计算机应用基础》在线测试2答案
  2. sha1 java 代码_HMAC-SHA1的java源代码实现
  3. 数据可视化——ECharts基础
  4. Python_随笔笔记_Python基础1
  5. python多进程优化_python多进程提高cpu利用率
  6. 蜘蛛日志分析工具_如何分析网站日志 - 360蜘蛛池
  7. freertos fatfs s32k 云_云的英语表达方式
  8. 性能计数器驱动_Vulkan 探密:AMD Vulkan 开源驱动源码解析-零
  9. 内存分配-堆-栈-静态区
  10. NYOJ 588 Money