1

在我的网络应用程序中,我有一个 index.html 文件,两个外部 .js 文件 file1.js、file2.js,我想从 file2.js 文件的函数中调用 file1.js 文件的函数。我尝试了很多东西。但是我不能从function1调用function2。这是我的代码..

索引.html

<head>
    <script type = "text/javascript" src = "file1.js"/>
    <script type = "text/javascript" src = "file2.js"/>
</head>
<body>
      <input type = "button" name = "clickButton" onClick = "javascript:function1()"/>
</body>

文件1.js

        function function1()
        {
            var newScript = document.createElement("script");
            newScript.type = "text/javascript";
            newScript.scr = "file2.js";
            document.head.appendChild(newScript);
            function2(a);
        }

文件2.js

        window.function2 = function(a)
        {
            alert("a value : "+a);
            alert("Function2");
        }

我正在尝试在 Safari 浏览器中运行它。如果有人知道解决方案,请告诉我..

4

1 回答 1

1
<script type = "text/javascript" src = "file1.js"/>
<script type = "text/javascript" src = "file1.js"/>

你把同一个文件放了2次。将其更改为:

<script type = "text/javascript" src = "file2.js"/>
<script type = "text/javascript" src = "file1.js"/>

(我之前放了function2,因为file1.js似乎依赖于file1.js,但这取决于你在哪里以及如何调用这一切)

但是你为什么要尝试在 function1 中包含 file2.js 呢?只需将其放在 html 文件的头脚本元素中,然后删除 function1 的前 4 行。

而且a似乎不知从何而来。


所以我建议你这样做:

index.html 标头

    <script type = "text/javascript" src = "file2.js"/>
    <script type = "text/javascript" src = "file1.js"/>

index.html 正文:

    <script>function1();</script>

文件 1.js:

    function function1() {
        var a = "hu ?"; // what you want
        function2(a);
    }

文件 2.js:

    function function2(a) {
        alert("a value : "+a);
        alert("function2:"+ function2);
    }
于 2012-06-13T11:53:21.163 回答