Javascript:我可以从主页调用外部文件中的函数吗?
我正在从主页加载一个外部js文件,其中包含一个函数 我在主页上有一个调用javascript函数的flash文件 在javascript代码出现在主文件中之前,一切都运行得很好,但当我将javascript移到外部文件时,该函数似乎不再被调用 所以。。。无法将javascript代码移动到外部文件?还是其他解决方案 谢谢 更新 主文件Javascript:我可以从主页调用外部文件中的函数吗?,javascript,html,flash,Javascript,Html,Flash,我正在从主页加载一个外部js文件,其中包含一个函数 我在主页上有一个调用javascript函数的flash文件 在javascript代码出现在主文件中之前,一切都运行得很好,但当我将javascript移到外部文件时,该函数似乎不再被调用 所以。。。无法将javascript代码移动到外部文件?还是其他解决方案 谢谢 更新 主文件 ... <script type="text/JavaScript" src="../sites/all/themes/zen/zen/main.js" /
...
<script type="text/JavaScript" src="../sites/all/themes/zen/zen/main.js" /></script>
</head>
只要在调用函数之前包含(并允许完全加载)带有所需函数的文件,那么将javascript放在文档中或单独的文件中没有区别
您确定外部javascript包含正确并且顺序正确吗?这里出现问题的两个最可能原因是:
- 将JS移动到外部文件时,在JS中留下了HTML注释或XML CDATA标记
- 你把URI搞错了
$(document).ready(function(){
由于将函数包装到另一个函数中,因此限制了它的作用域,因此它不是全局函数,这将使从ready函数外部调用它变得非常困难(即Flash将无法找到它).在
head
部分中的JS与外部文件中的JS没有根本区别。它们应该可以通过任何一种方式调用。您能说明如何嵌入文件吗?因为changeSize是在匿名函数中声明的,所以只能从相同的匿名函数中调用。(1)JS文件只包含我在问题中编写的函数,没有其他标记(或者我误解了你了吗?)(2)我用FireBug进行了测试,没有收到任何“未找到文件”错误消息。该文件已正确加载。OK cool谢谢,现在它可以工作了。那么我应该在哪里使用$(document).ready(function()?我不能在外部文件中使用它?或者因为我正在加载一个外部文件,所以不再需要它了?当您希望在DOM就绪时运行代码时使用它。这通常是当它内部的代码需要访问以源代码顺序出现在脚本之后的元素时。
$(document).ready( function() {
function changeSize(objectId, width, height) {
alert("changeSize called");
...