Javascript 即使在引用之后也无法访问外部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="

我是一个初学者,第一次尝试在script标记的scr属性中添加外部jscript文件,在搜索过程中遵循了所有步骤,但没有按应有的方式运行。有人能帮我吗

  • 我有一个aspx表单,还有一个按钮onclick调用内部javascript函数。 我还有一个按钮onclick调用external.js文件函数
  • 这是我的aspx代码

    <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");
    }