如何在网页中运行外部JavaScript功能?

时间:2017-06-06 02:38:03

标签: javascript html

我可以在页面中运行Javascript,因此:

Javascript.html

<html>
    <body>
        Hello <span id="mySpan"> World! </span>
    </body>
    <script>
        function worldInSpanish() {
            return "Mundo!";
        }
        document.getElementById('mySpan').innerHTML = worldInSpanish();
    </script>
</html>
  

Hello Mundo!

但是当我尝试从外部文件运行它时,它不起作用。

javascript.js

function worldInSpanish() {
    return "Mundo!";
}

External_javascript.html

<html>
    <body>
        Hello <span id="mySpan"> World! </span>
    </body>
    <script src="javascript.js">
        document.getElementById('mySpan').innerHTML = worldInSpanish();
    </script>
</html>

不会更改文字:

  

Hello World!

我做错了什么?我猜我需要做更多的事情来将函数“导入”到HTML页面或从Javascript文件中“导出”它。

5 个答案:

答案 0 :(得分:3)

您需要在单独的代码标记中导入JavaScript文件。 并且您的脚本元素应该是正文或标题。

<html>
  <body>
    Hello <span id="mySpan"> World! </span>

    <script src="javascript.js"></script>
    <script>
        document.getElementById('mySpan').innerHTML = worldInSpanish();
    </script>
  </body>
</html>

答案 1 :(得分:2)

您的脚本标记属于<body><head>标记。

答案 2 :(得分:1)

您需要为外部文件和内联JavaScript使用单独的<script>标记。

正如@ShammelLee所说,在<head><body>标记内。

<html>
    <body>
        Hello <span id="mySpan"> World! </span>
        <script src="javascript.js"></script>
        <script>
            document.getElementById('mySpan').innerHTML = worldInSpanish();
        </script>
    </body>
</html>

答案 3 :(得分:1)

注意:如果&#34; src&#34;属性存在,元素必须为空。

<script>标记用于定义客户端脚本(JavaScript)。

<script>元素包含脚本语句,或者通过src属性指向外部脚本文件。

src属性指定外部脚本文件的URL。

如果要在网站的多个页面上运行相同的JavaScript,则应创建外部JavaScript文件,而不是反复编写相同的脚本。使用.js扩展名保存脚本文件,然后使用src标记中的<script>属性引用该文件。

注意:外部脚本文件不能包含<script>标记。

注意:指向外部脚本文件的确切位置。

因此,您必须导入js文件另一个脚本标记,如

<script src="javascript.js"></script>

您可以在该脚本代码上导入此类函数并删除您首先执行的src属性。感谢。

答案 4 :(得分:0)

这应该可以解决问题。你使用相同的标签来附加外部,并调用该函数,在单独的标签中进行

<html>
    <body>
        Hello <span id="mySpan"> World! </span>
    </body>
    <script src="javascript.js"></script>
    <script>
        document.getElementById('mySpan').innerHTML = worldInSpanish();
    </script>
</html>