不能执行已释放 Script 的代码

ASP.NET相关技术交流群205914059

我在父页面里定义了一个全局变量 Exp2  在打开子页面的时候 我读取父页面的Exp2 值 给子页面的函数做配置参数。

子页面

function CreateGv()
 {       
        lw=null;
        lw=new ListView("Maindiv","RightMenu","PopMenu");
        lw.ID="lview"

        if(parent.Exp2!="")
        {
            lw.ShowFeildCheckList=parent.Exp2;//获取父页面变量值
        }  

}

当子页面发生变化以后 在给父页面这哥变量重新赋值。

//给父页面赋值

function Funstrart(obj)
    {
        if(obj=="1")
        {
            parent.Exp2=lview.ShowFeildCheckList
            alert("保存成功");
        }
        else
        {
            alert("保存失败");
        }
    }

然后在刷新子页面  就出现了 不能执行已释放 Script 的代码。

后来把代码改成

function Funstrart(obj)
    {
        if(obj=="1")
        {
           
           var value="";
           value=lview.ShowFeildCheckList+"";
           parent.Exp2=value;
            alert("保存成功");
        }
        else
        {
            alert("保存失败");
        }
    }

问题解决了。以我自己的判断很有可能是因为 :

以对象的方式给父页面变量赋值以后,

实际上很有可能是只把内存指针给了父窗口变量 当本页的刷新以后指针消失所以出现了这个错误。

转载于:https://www.cnblogs.com/zhaosazi77/archive/2011/06/17/Script.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果 JavaScript 中说 `$` 不存在,通常是因为代码中没有正确引入 jQuery 库。请确保在 HTML 文件中正确引入 jQuery 库,可以使用以下代码: ```html <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script> ``` 如果已经引入了 jQuery 库,但仍然出现 `$` 不存在的错误,请检查 jQuery 库文件路径是否正确,或者尝试使用 `jQuery` 替换 `$` 来避免命名冲突。 ### 回答2: 如果在使用JavaScript代码时遇到"$不存在"的情况,可以尝试以下几种解决方法: 1. 确认是否正确加载了jQuery库:在使用"$"前,需要确保已正确加载了jQuery库。可以检查HTML页面中是否正确引入了jQuery库的文件,或者确认该文件是否已成功加载。 2. 检查是否使用了其他JavaScript库:如果在同一个页面中同时使用了多个JavaScript库,并且这些库也使用了"$"作为变量名,可能会导致冲突。此时需要将jQuery库的$符号与其他库的符号进行冲突解决,可以使用jQuery.noConflict()方法来解决。 3. 使用"jQuery"代替"$"符号:如果确保已正确加载了jQuery库,但仍然无法使用"$"符号,可以尝试使用"jQuery"来替代"$"符号。jQuery库依然会被正确调用,只是用法略有不同,比如将"$"符号改为"jQuery"。 4. 确认代码在DOM加载完成后执行:在某些情况下,如果JavaScript代码在DOM加载完成前执行,可能会导致"$"符号无法找到。为了解决这个问题,可以将代码包裹在$(document).ready()中,确保代码在DOM加载完成后再执行。 总结:当JavaScript代码中出现"$不存在"的情况时,首先需要确认是否正确加载了jQuery库。如果已加载了jQuery库,在多库冲突的情况下可以使用jQuery.noConflict()方法解决,或者用"jQuery"代替"$"符号。同时,需要确保代码在DOM加载完成后执行。 ### 回答3: 如果JS代码中出现$不存在的情况,可以尝试以下几种解决方法: 一、检查是否引入了jQuery库:$是jQuery的一个简化形式,如果未引入jQuery库,则会报$不存在的错误。确认代码中是否有正确引入jQuery库的语句,例如: ```html <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> ``` 二、确保在代码中使用$之前,jQuery已完全加载:有时浏览器的加载速度慢或网络问题可能导致代码在jQuery加载之前执行,可在代码中使用DOMContentLoaded事件,确保在文档完全加载后再执行代码,例如: ```javascript document.addEventListener("DOMContentLoaded", function() { // 在这里使用$ }); ``` 三、查看是否与其他JavaScript库冲突:如果在同一页面中使用了其他JavaScript库,可能会导致$被占用。可以尝试使用jQuery.noConflict()方法释放$的控制权,并用其他变量替代,例如: ```javascript var jq = $.noConflict(); // 使用jq代替$ ``` 四、使用全写形式替代$:将代码中的$全部替换为jQuery,确保代码能正确执行,例如: ```javascript jQuery(document).ready(function() { // 在这里使用jQuery代替$ }); ``` 五、确保代码位于正确位置:有时候代码放置的位置不正确,可能导致$不存在的错误。确保代码位于页面加载完毕后执行,或者在DOM元素加载完毕后执行。 总之,要解决$不存在的问题,首先要检查是否引入了jQuery库,然后确认代码执行时机和位置,还可以考虑与其他库的冲突以及使用全写形式替代$等方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值