我知道我们可以使用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;只是我桌面上的另一个文件,而不是在网络上。
答案 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>
交换js1
和js2
的导入可能会破坏所有内容,因此请谨慎处理订单。