gpt4 book ai didi

Javascript:.js 文件之间共享的全局变量

转载 作者:技术小花猫 更新时间:2023-10-29 12:18:19 26 4
gpt4 key购买 nike

我在使用全局变量时遇到问题。

考虑到我有以下文件:init.html、main.html、init.js、main.js 和 help.js:

哪里,init.html:

<HTML>
<HEAD>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"></script>
<script type="text/javascript" charset="UTF-8" src="init.js" ></script>
<script type="text/javascript" charset="UTF-8" src="main.js" ></script>
<script type="text/javascript" charset="UTF-8" src="help.js" ></script>

</HEAD>
<BODY>
<script>
$(document).ready(function() {
test();
});
</script>
</BODY>
</HTML>

在 init.js 中:

function test(){
alert(window.glob);
}

在 main.html 中:

<HTML>
<HEAD>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js"> </script>
<script type='text/javascript' >
top.glob = "global variable";
</script>
<script type="text/javascript" charset="UTF-8" src="help.js" ></script>
<script type="text/javascript" charset="UTF-8" src="main.js" ></script>
</HEAD>
<BODY>
<div id="divtest"></div>
<form>
<input type="button" value="button" onClick="callTest()" />
</form>
</BODY>
</HTML>

主要.js:

function change(p){
window.glob = p;

$('#divtest').html("<iframe id='IFRAMEtest' width='720' height='400' frameborder='0' src='init.html'></iframe>");
}

在 help.js 中:

function callTest(){
change('param');
}

当我点击按钮时,显示“全局变量”,但我需要显示“参数”。

简而言之,我需要一个 .js 文件读取另一个 js 文件中的全局变量,该变量被输入到用户事件调用的函数中。

谢谢。

edit - 在导入文件之前初始化全局变量。 js 并使用 top.在 IE 和 firefox 中工作,但 chrome 显示“未定义”

最佳答案

看这里: Global variables in Javascript across multiple files最主要的是,您可能必须声明全局变量在实际文件之前,所以尝试在包含到 help.js 之前插入它

所以试试看吧。

<script type='text/javascript' > 
window.glob = "global variable";
</script>

所以你的代码应该是:

<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.3.min.js" ></script>

<script type='text/javascript' >
window.glob = "global variable";
</script>

<script type="text/javascript" charset="UTF-8" src="help.js" ></script>
<script type="text/javascript" charset="UTF-8" src="main.js" ></script>
</head>

尝试一下,看看它是否有效。此外,为此从 main.js 中删除全局变量声明。

关于Javascript:.js 文件之间共享的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416076/

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