在" .js"中调用JavaScript函数从HTML文件加载页面后的文件

时间:2016-10-17 11:03:05

标签: javascript jquery html

我知道我们可以使用jQuery在页面加载时调用JavaScript函数:

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript">  
    <script type="text/javascript">  
        $(document).ready(function() {  
            alert("Hello World!");  
        });  
    </script>

但是如果函数在外部&#34; .js&#34;内部怎么做呢?文件?

还有一个问题,可以&#34; src&#34;标签有这样的值: src =&#34; http://google.com&#34;? 我的意思是没有&#34; .js&#34;后缀。

由于

编辑:我的意思是&#34;外部&#34;只是我桌面上的另一个文件,而不是在网络上。

6 个答案:

答案 0 :(得分:1)

在外部.js文件中,您也可以这样做。但是文件应该在DOM中的jQuery之后。

如果没有jQuery,您可以使用下一个代码:

window.onload = function () {alert('Hello World!')
  

还有一个问题,“src”标签可以有这样的值:src   =“http://google.com”?我的意思是在它的末尾没有“.js”后缀。

是的,你可以。

答案 1 :(得分:0)

可能你可以使用相同的

$(document).ready(function() {  
   alert("Hello World!");  
});

在外部文件中?

答案 2 :(得分:0)

是的,它不需要具有.js扩展名,您可以从任何服务器加载任何js文件,无论该站点有多恶意。它必须是一个有效的js文件服务与适当的标头。 Google.com不是一个......它是一个html文件。如果您使用的是https:域,则所有资源也需要为HTTPS,否则将跳过它们

在上面的例子中,$是一个从googles页面加载的外部函数!

答案 3 :(得分:0)

<script type="text/javascript">
function myfunction() {
   alert('it has loaded');
};
</script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript" onload="myfunction()">  

确保在调用外部代码的代码之前定义您的函数。以防代码在页面到达您的代码之前被缓存并执行。

你也可以做一个完整的javascript版本:

function myfunction() {
    alert('script has loaded');
}
function loadJS(url, callback){
    //url is URL of external file, callback is the code
    //to be called after file has loaded

    var scriptTag = document.createElement('script');
    scriptTag.src = url;

    scriptTag.onload = callback;
    scriptTag.onreadystatechange = callback;

    document.body.appendChild(scriptTag);
};

loadJS('http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', myfunction);

答案 4 :(得分:0)

您可以在脚本标记内加载所有javascript文件,然后可以调用任何函数,如:

$(document).ready(function() {  
       yourFuntion();  
    }); 

PS:不要忘记在javascript文件之前调用你的函数。

答案 5 :(得分:0)

您加载的所有JavaScript文件都在同一范围内:您的DOM。因此,从哪个文件加载一个函数以及从哪个文件加载另一个函数无关紧要。 只要您加载所有必需的文件就没有问题。

例如,我最近开发了一个OOP JS项目,我有js/namespace/class.js个文件。当然在类上使用了另一个(甚至来自不同的命名空间)。 我有一个疯狂的长头(有大量的进口),但一切都很好。

关于你的第二个问题:src字段必须指向有效的JS资源。 src="//something.org/resource"有效,如果它是REST js资源(由服务器路由)而不是普通文件。重要的是它是一个有效的JS“字符串”

我们来看这个例子:

<强> // mysite.org/rest/js1

var greet = function() {
    alert("Hello World!");
}

<强> // mysite.org/rest/js2

$(document).ready(function() {
    greet();
}

<强> HTTP [S]://mysite.org

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>
<script src="//mysite.org/rest/js1" type="text/javascript"></script>
<script src="//mysite.org/rest/js2" type="text/javascript"></script>

交换js1js2的导入可能会破坏所有内容,因此请谨慎处理订单。