Javascript 即使在引用之后也无法访问外部Jscript文件?
我是一个初学者,第一次尝试在script标记的scr属性中添加外部jscript文件,在搜索过程中遵循了所有步骤,但没有按应有的方式运行。有人能帮我吗Javascript 即使在引用之后也无法访问外部Jscript文件?,javascript,asp.net,jscript.net,Javascript,Asp.net,Jscript.net,我是一个初学者,第一次尝试在script标记的scr属性中添加外部jscript文件,在搜索过程中遵循了所有步骤,但没有按应有的方式运行。有人能帮我吗 我有一个aspx表单,还有一个按钮onclick调用内部javascript函数。 我还有一个按钮onclick调用external.js文件函数 这是我的aspx代码 <head runat="server"> <script type="text/javascript" language="javascript" src="
<head runat="server">
<script type="text/javascript" language="javascript" src="ExternalJScript.js">
function Myfunction()
{
document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript function";
alert("Hi Function Called from Javascript");
}
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
<button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
</div>
</form>
外部脚本的脚本标记之间不应存在代码。尝试将其更改为:
<head runat="server">
<script type="text/javascript" language="javascript" src="ExternalJScript.js"></script>
<script type="text/javascript">
function Myfunction()
{
document.getElementById("htmlbutton").innerHTML = "This is Button from Javascript function";
alert("Hi Function Called from Javascript");
}
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<button type="button" id="htmlbutton" onclick="Myfunction()">This is html button</button><br />
<button type="button" id="Button1" onclick="ExternalJSFileFunction()" value="Call File">HI</button>
</div>
</form>
那就行了
此外,还有一些其他提示:
如果您使用的是HTML5 doctype,还可以去掉
元素上的type属性
同时,将开始大括号与函数或条件放在同一行上,因此:
function ExternalJSFileFunction() {
但不是:
function ExternalJSFileFunction()
{
您几乎应该总是将脚本添加到页面的末尾,就在关闭
标记之前,以提高性能
使用
onclick
属性也不是附加事件处理程序的推荐方法,您应该使用适当的addEventListener()
方法。如果需要支持,则外部JavaScript文件中的函数定义不正确
它应该是这样的(我添加了函数
关键字)
您还需要按照danwellman在回答中的建议进行更改。aspx页面中的MyJavaScript函数运行良好。但外部因素并非如此。它告诉我Microsoft JScript运行时错误:应为Object.Thnks。。danwellman我按照你的评论做了,但仍然得到相同的错误:(嘿,非常感谢:))danwellman帮助我解决了这个错误。我甚至实现了你给出的提示。我使用的是XHTML1.0,我想这比HTML5要高,如果我不写type属性,它会给出警告。你们以后会学花括号。标记后的代码是的,它提高了我检查过的性能。eventListener是的,我实现了,我注意到element.addEvent('onclick',Myfunction)适用于IE6,而不适用于chrome和element.addEventListener('click',Myfunction,false)适用于chrome而不适用于IE所以。。。我刚刚读到,我们在web中编写的watever代码需要确保它与所有浏览器兼容,以便任何其他的XHTML1.0都比HTML5旧。如果您不使用type属性,VisualStudio会给出警告和绿色下划线,但如果您使用实际的验证器,如W3C的验证器,则不会给出警告
function ExternalJSFileFunction() {
function ExternalJSFileFunction()
{
function ExternalJSFileFunction()
{
alert("I m from external file");
}