【不能执行已释放的 sript 代码】 已解决 命名【疾风】
在上周开发中遇上个恶心的问题,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 代码】 已解决 命名【疾风】相关推荐
- 不能执行已释放 Script 的代码
ASP.NET相关技术交流群205914059 我在父页面里定义了一个全局变量 Exp2 在打开子页面的时候 我读取父页面的Exp2 值 给子页面的函数做配置参数. 子页面 function Cre ...
- 不能执行已释放 script 的代码_[漏洞预警]CVE20190708远程桌面代码执行漏洞利用工具已放出...
漏洞描述 2019年5月14日微软官方发布安全补丁,修复了Windows远程桌面服务的远程代码执行漏洞,该漏洞影响了许多版本的Windows操作系统.该漏洞在不需身份认证的情况下即可远程触发,危害与影 ...
- 爬取微信好友信息,进行可视化分析(头像人脸识别部分已更新!)(代码已上传)
[Code]下载 1.项目说明 本次项目主要实现了以下功能: 2.微信好友信息的获取与文件存储 3.微信好友性别分析 4.微信好友地区分布可视化 5.微信好友个性签名词云图及好友备注词云图 6.微信好 ...
- 思科提醒:多款交换机存在多个RCE漏洞且利用代码已公开
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 今天,思科提醒客户称,多款 Small Business 系列交换机中存在四个严重的远程代码执行漏洞,且利用代码已遭公开. 这四个漏洞的 CVS ...
- android imageview.setVisibility(View.VISIBLE)设置无效,代码已执行但是图片不显示
android imageview.setVisibility(View.VISIBLE)设置无效,代码已执行但是图片不显示 在网上找了很多文章,基本上都是说在设置setVisibility()之前, ...
- 徒手撸了一个API网关,理解更透彻了,代码已上传github,自取~
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 一.背景 最近在github上看了soul网关的设计,突然 ...
- java编程石头剪刀布图片_石头、剪刀、布!10分钟带你打开深度学习大门,代码已开源...
原标题:石头.剪刀.布!10分钟带你打开深度学习大门,代码已开源 沉沉 发自 宇宙中心 量子位 出品 | 公众号 QbitAI 深度学习技术的不断普及,越来越多的语言可以用来进行深度学习项目的开发,即 ...
- Asp.Net异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值的解决方法...
今天项目中碰到一个以前从没有见过的异常信息"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值",于是查了一下资料,原来此异常是由于我在代码中使用了"Re ...
- 树状图栏目切换_AAAI 2020 | 中山大学HCP实验室:基于树状结构策略的渐进强化学习,代码已开源...
作者 | 吴捷 编辑 | Camel 本文对中山大学.北京航空航天大学.DMAI合作完成,被AAAI2020录用的一篇关于多模态视频理解的论文<Tree-Structured Policy ba ...
- 异常:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值...
在一般处理程序中执行 context.Response.End()方法会报出:"由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值"这个异常. 对于这个异常微软有解 ...
最新文章
- 斯坦福Google | 面向机器人的机器学习(附63页PPT下载)
- haproxy负载均衡
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 大小端交换的程序_APP端常见测试功能点
- 树形控件(CTreeCtrl和CTreeView)
- Linux(5) 组管理和权限管理
- 通过yum install 方式安装snmp包遇到的问题,gsk7bas64-7.0-4.44.x86_64 has missing libstdc++.so.*等
- ai的预览模式切换_当AI频繁切换色彩预览模式时 颜色会越变越深 求解?
- UA PHYS515A 电磁理论IV 时变电磁场理论4 电磁场的动量与麦克斯韦压缩能张量
- DISCUZ代码分析
- lvds接口屏线安装图解_液晶屏上的LVDS,TTL,RSDS三种接口的详解
- 软件测试之因果图法(P24——P26)
- 只是浅谈MS SQL Server的Page Splits运作原理
- HDMI切换器的各种版本能不能互通?
- 小米智能插座、小米温湿度计2、涂鸦灯泡 接入Home Assistant
- I2S总线学习:I2S数据格式
- axios请求415错误Uncaught (in promise) Error: Request failed with status code 415
- Java诊断工具-Arthas入门与实践
- 门禁控制器的选购指南
- 王天羲:构建以客户中心的全整合企业
热门文章
- 大连理工计算机基础作业2,大工18秋《计算机应用基础》在线测试2答案
- sha1 java 代码_HMAC-SHA1的java源代码实现
- 数据可视化——ECharts基础
- Python_随笔笔记_Python基础1
- python多进程优化_python多进程提高cpu利用率
- 蜘蛛日志分析工具_如何分析网站日志 - 360蜘蛛池
- freertos fatfs s32k 云_云的英语表达方式
- 性能计数器驱动_Vulkan 探密:AMD Vulkan 开源驱动源码解析-零
- 内存分配-堆-栈-静态区
- NYOJ 588 Money