在我的HTML中,我有以下内容:
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript" src="js/photos.js"></script>
<script type="text/javascript" src="js/mattes.js"></script>
在common.js中,我有:
var mattes_openings_xml;
在mattes.js中我有:
mattes_openings_xml = "<Openings><opening><item><x>7.75</x><y>1.75</y><width>4.5</width><height>6.5</height><type>rectangle</type><clipX>0</clipX><clipY>0</clipY><imgsrc></imgsrc></item></opening><opening><item><x>14</x><y>2.25</y><width>3.5</width><height>5.5</height><type>rectangle</type><clipX>0</clipX><clipY>0</clipY><imgsrc></imgsrc></item></opening><opening><item><x>2.5</x><y>2.25</y><width>3.5</width><height>5.5</height><type>rectangle</type><clipX>0</clipX><clipY>0</clipY><imgsrc></imgsrc></item></opening></Openings>";
在photos.js中,我有:
console.log(mattes_openings_xml);
以未定义的形式输出。
我不明白为什么会发生这种情况,因为定义mattes_openings_xml的函数(在mattes.js中)在输出它的函数(photos.js)之前被调用。
答案 0 :(得分:0)
你在mattes.js之前加载photos.js,所以photos.js首先发生。只有在photos.js运行后才能定义mattes_openings_xml。
答案 1 :(得分:0)
我通过致电:
解决了这个问题function mattes_get_xml()
{
return mattes_openings_xml;
}