gpt4 book ai didi

javascript - "Uncaught ReferenceError: AutoResize is not defined"

转载 作者:行者123 更新时间:2023-11-28 20:57:37 26 4
gpt4 key购买 nike

接下来是我的 Javascript 文档,它在 $(document).ready() 中运行。 Javascript 是从我网站的页脚加载的。为了简化起见,我用 [...] 代替不相关的代码。

// When the document is ready, run the display scripts
$(document).ready(function() {

// Define the frame height functions
function getDocHeight(doc) {
[...]
}
document.domain = 'mysite.com';

function resizeIframe() {setIframeHeight('date-price-book');}

function setIframeHeight(ifrm) {
[...]
}

function AutoResize() {
resizeIframe();
resizeIframe();
setTimeout("AutoResize()", 500);
}

AutoResize();

[... more Javascript code...]

当我运行该页面时,出现错误:Uncaught ReferenceError: AutoResize() is not Defined

我可以通过注释掉 AutoResize(); 行(上面示例代码中的最后一行)来阻止此错误的发生。但为什么会抛出这个错误呢? AutoResize() 函数肯定刚刚在其上方的行中定义了吗?

感谢您的帮助!

最佳答案

setTimeout("AutoResize()", 500);

当执行上面的 setTimeout 时,它会在全局范围内评估字符串。 AutoResize() 隐藏在闭包内,因此找不到它。

使用名称分配对函数的引用。

setTimeout(AutoResize, 500);

其他选项是闭包

setTimeout(function() { AutoResize(); }, 500);

如果你想向函数发送参数,你可以使用闭包方法。

关于javascript - "Uncaught ReferenceError: AutoResize is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11784113/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com