为什么 页面上引用的js文件中,函数不能执行

如题所述

页面上引用的js文件中函数不能执行的原因:找不到函数,会报错或undefined;语法错误;没有引用js文件等。

具体的解决方法:

1、函数应当直接写在页面即可调用;

2、确保有引用js文件,如果引用了的话,也是可以调用的。
引用方式,可以直接拖拽(因为路径准确),也可以自己写,引用脚本:<script src="Scripts/JScript.js" type="text/javascript"></script>

3、引用的js文件一定要在调用之前,否则就找不到函数了,会报错或undefined。

调用页面:

<script src="Scripts/JScript.js" type="text/javascript"></script>
    <script type="text/javascript">
        aa();
    </script>
Script.js中代码:
  
  function aa() {
        alert("js文件掉用");
    }

另外:在BS项目中,某个aspx页面需要引用外部:脚本文件,通过在页面head节<script language="" src="">方式引用指定的js之后,仍然无效。

通过alert方式调试,发现是由于js文件编码与js文件内容不符。由于js文件中包含中文注释,所以需要设置js文件为可识别中文的gb2312编码。其方法如下:

在.net中通过这种方式引用js文件
<script type="text/javascript" src="setday0.js"></script> 
然后在页面中调用setday0.js文件中的方法往往会出错!但是如果把setday0.js文件的内容直接放到该页面中来又一点问题也没有。就在页面中重写js代码。

这个问题是由于.net中的text编码所引起的,需要把setday0.js文件保存为UTF-8或者其他Unicode编码方式,问题就迎刃而解。原来的文本编码为gb2312,因为其中有汉字。

如何进行编码转换?

1、用记事本打开,保存的时候选择Unicode编码;

2、直接在vs中选择另存为,保存按钮右边有个小箭头,点一下,然后选择编码方式再保存就ok。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-08-11
1.函数直接写在页面相当于是你本页调用,所以理所应当可以调用

2.js单独文件不能调用是因为你没有引用js文件,如果引用了的话,也是可以调用的。
引用方式,你可以直接拖拽(我一般都是拖拽,因为路径准确),也可以自己写,引用脚本:<script src="Scripts/JScript.js" type="text/javascript"></script>
3.还有就是,引用的js文件一定要在调用之前,否则就找不到函数了,会报错或undefined
例如:
调用页面:
<script src="Scripts/JScript.js" type="text/javascript"></script>
<script type="text/javascript">
aa();
</script>
Script.js中代码:

function aa() {
alert("js文件掉用");
}
最后,希望对你有帮助本回答被提问者采纳
第2个回答  2016-08-11
<script language="javascript" src="FORM/js/main.js" type="text/javascript" defer="defer"> </script>

为什么页面上引用的js文件中,函数不能执行?
页面上引用的js文件中函数不能执行的原因:找不到函数,会报错或undefined;语法错误;没有引用js文件等。具体的解决方法:1、函数应当直接写在页面即可调用;2、确保有引用js文件,如果引用了的话,也是可以调用的。引用方式,可以直接拖拽(因为路径准确),也可以自己写,引用脚本: 3、引用的js文件一...

JavaScript为什么调用函数不会执行呢?
这个问题是因为你调用的函数未定义;不过没有看到你的具体代码,你可能是以下情况:1、的确是没有定义这么一个函数;2、定义函数了,但是在你调用的时候,你的函数并没有初始化。将(function () {alert("help me !!!");var gameDraw = new gameDraw("myCanvas");alert("help me11111 !!!")...

HTML加载js文件成功,但是无法调用其中的函数。
3引用的方式错误

为啥外部引入两个js文件,第一个不起作用
一般是命名导致JS冲突。解决方法主要是查找在加载的js中是否具有相同命名的情况,然后修改命名 b.onload 事件冲突 如果在js中调用了window.onload = function(),同时在页面上又有body onload语句,会导致window.onload事件覆盖掉body onload事件而出现错误.解决方法:attachEvent给onload添加所需运行的函数。...

请教,js自执行函数不执行,这是怎么回事。谢谢!
再来分析你的情况:如果你的代码是直接放在标签之间,是在页面加载到这个标签的时候会执行的。如果你是放在某个function 之内,在浏览器加载的时候是不会理解执行的。而是在调用这个function的时候再执行。

为什么h5中调用js文件中的函数方法不行呀?将js放在body中就可以了?
js.js中的代码改为:function check(){return false;}

javascript不执行(js脚本不执行)
js不好使,可以看看浏览器控制台是否报错了,有的时候,phl的闭合标签没有写完整,就会导致部分js没有识别,导致不能解析。我也是自学初学者。好像没见过src链接除.js以外的文件。可以这样写吧。javascript不执行浏览器未开启javascript使用的js代码有问题,webview不兼容该代码。首先点击打开浏览器的菜单【...

为什么js里不定义成函数不运行?
这是因为当图一运行到第4行时,下面的其他dom元素都尚未加载(load)到内存,这时候直接获取id为aa的元素肯定就获取不到啦,脚本出错,第5行的alert也就不会弹出了。而图二把代码放入自定义函数a1,代码是不会立即运行的,而当下面input的onclick事件运行时,页面的所有dom元素肯定都已经加载完毕啦,...

javascript 函数在函数所在的script标签下为什么不能被调用
这么给你说吧 标签 在规范情况下可以在head内 可以在body内 但是在其他地方是不符合规范的 至于不符合规范的情况下会出什么问题 是不定的 但是还有个情况 你放在了head内会不执行 因为JS代码先于dom执行了 所以建议 将script标签 放在body内部 html标签下 比如 dfdf对了 我打了这么多字包括昨天的 ...

导入外部JS文件调用事件与全局变量无效
可以导入的,把导入的代码写在标签里面。至于路径对不对,你在你的role.js文件里面随便写个简单的函数function test(){alert("ok");},然后在页面上调用一下test函数,不就知道结果了。

相似回答