У меня проблемы с глобальными переменными.
Учитывая, что у меня есть следующие файлы: 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>
main.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');
}
Когда я нажимаю кнопку, отображается "глобальная переменная", но мне нужно отобразить "param".
Короче, мне нужно, чтобы файл .js читал глобальную переменную в другом js файле, где эта переменная вводится в функцию, вызванную событием пользователя.
Спасибо.
edit - инициализированная глобальная переменная перед импортом файлов. js и используя верхний. Работает в IE и firefox, но хромированный дисплей "undefined"