关于引入脚本丢失的问题
我把一些请求方法封装在脚本中,然后页面某个地方点击的时候调用脚本中的方法。但是无论是在页面预加载的地方引入还是在页面的加载事件中使用this.include方法引入,在页面过一段时间后脚本就会丢失,报错找不到这个方法,必须要点浏览器的刷新按钮整体刷新页面才可以正确找到,但是一段时间后又会丢失(循环)。我脚本中的方法是使用this.define(name, fun, overwrite)定义的。会不会跟这个有关?还是说是其他原因?
没有关系,脚本里定义就是用this.define
您指的丢失是引用的地方消失了?还是说引用了,但是找不到方法?
您是否有其他地方定义了同样的方法,并且引用了? 论坛管理员 发表于 2023-8-28 16:37
没有关系,脚本里定义就是用this.define
您指的丢失是引用的地方消失了?还是说引用了,但是找不到方法?
...
我说的丢失就是报错某某方法不是一个函数,找不到这个方法。
我在其他地方也没有定义同样的方法。
还有一个问题就是:我引入多个脚本时页面会报错一个页面只能有一个匿名脚本 通过this.define()定义的方法会附加在 this上下文中,您看一下报错的时候,this上下文指向是不是改变了。 论坛管理员 发表于 2023-8-28 16:37
没有关系,脚本里定义就是用this.define
您指的丢失是引用的地方消失了?还是说引用了,但是找不到方法?
...
这个脚本是在页面预加载的,重新刷新页面后就能正常找到了,但是一段时间后就又报这个问题了
cxy 发表于 2023-8-29 09:54
通过this.define()定义的方法会附加在 this上下文中,您看一下报错的时候,this上下文指向是不是改变了。 ...
this指向应该没问题,搞不懂啥原因
抱歉,根据目前的信息,不能判断出到底是哪里出的问题。 cxy 发表于 2023-8-29 15:53
抱歉,根据目前的信息,不能判断出到底是哪里出的问题。
在页面预加载脚本时,this身上是有的,但是页面一段时间之后,就消失了,再调用就是上面的报错。就很奇怪
这个还是要结合您的具体代码设计排查问题了,单现在的描述,管理员这边也定位不到问题
页:
[1]