Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在";中调用JavaScript函数;。js";从HTML文件加载页面后的文件_Javascript_Jquery_Html - Fatal编程技术网

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

在";中调用JavaScript函数;。js";从HTML文件加载页面后的文件,javascript,jquery,html,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() { al

我知道我们可以使用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>

$(文档).ready(函数(){
警报(“你好,世界!”);
});  
但是,如果函数位于外部“.js”文件中,该如何执行呢

还有一个问题,请问“src”标记是否有如下值: src=”“? 我的意思是结尾没有“.js”后缀

谢谢


编辑:我所说的“外部”只是我桌面上的另一个文件,而不是网络上的文件。

也许你可以使用相同的文件

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

在外部文件中?

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

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

window.onload = function () {alert('Hello World!')
还有一个问题,请问“src”标记是否有这样的值:src = ""? 我的意思是结尾没有“.js”后缀


是的,您可以。

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


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

您可以在script标记中加载所有javascript文件,然后可以调用以下任何函数:

<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()">  
$(document).ready(function() {  
       yourFuntion();  
    }); 

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

所有加载的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>


将导入替换为
js1
js2
可能会破坏这一切,因此请注意顺序。

能否详细说明在外部js文件中调用函数的含义?我不是专家,但我相信通过
脚本
标记加载的所有Javascript文件(准确地说,它们的内容)都属于同一范围,因此,您可以正常地调用函数(当然,前提是文件已经加载)。至于你的第二个问题,我认为没有理由不可以这样做,只要服务器返回有效的JavascriptJavascript,任何脚本都可以添加任意数量的全局变量,并覆盖其他脚本创建的全局变量。你只需要导出一个全局变量,最好是一个都不导出,并使用模块加载系统,但是没有什么能阻止你发疯,操纵任何你想要的东西,除非你自己!我想我以前见过“onload”,但我想做的是在不打开窗口的情况下处理页面内容,所以我认为“onload”不是我想要的。我正在制作一个Chrome扩展,所以内容脚本必须是JavaScript文件,我不知道jQuery。另外,我对HTML和JS都是新手。我是否可以从外部的“.JS”文件中调用该函数,而无需在窗口中打开URL?这正是我想要的。关于完整的JS版本,我构建了代码,但它没有发出警报。另外,我所说的“外部”文件是我桌面上的另一个文件,而不是网络上的。
<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>