我如何 link 在外部和内部编写脚本?
How do I link scripts externally and internally?
我有一个网站,我想在线和离线工作。我想减少加载时间,所以我缩小了加载缓慢的脚本。它没有足够的工作。在本地,一些脚本需要 4-6 秒才能加载。
我知道 linking 脚本在外部大大加快了速度。我已经尝试过了并且有效。但有些用户将无法访问互联网。有没有办法 link 一组脚本到外部站点,如果它们没有互联网访问权限,则在本地?
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="js/jquery.dataTables.min.js" type="text/javascript"></script>
<script src="ui/jquery-ui.min.js" type="text/javascript"></script>
您可以执行类似于 this answer. 的操作 基本上,您的想法是尝试为 jQuery 加载基于 Internet 的脚本。之后,您执行一个普通脚本,检查是否 jQuery === undefined
。如果是,您要加载本地副本。
基本上,你想做的事的一个例子:
<script src="[jQueryURL]" type="text/javascript"></script>
<script src="[dataTablesURL]" type="text/javascript"></script>
<script src="[jQueryUIURL]" type="text/javascript"></script>
<script type="text/javascript">
if(jQuery === undefined) {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "js/jquery-1.9.1.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
//repeat for other two scripts here
}
</script>
将会发生的是它会尝试加载有问题的脚本,然后它会检查是否定义了 jQuery。如果不是,则意味着脚本未加载,因此您想加载本地版本并将它们附加到您的 header.
确保脚本声明了一个您可以测试的全局变量。如果外部脚本加载失败(您可以通过测试该变量来确定),则生成一个本地脚本加载元素。
<script src="http://example.com/example.js"></script>
<script>
if !(window.Example) {
document.write('<script src="../scripts/example.js"><\/script>');
}
</script>
<script type="text/javascript">
if(navigator.onLine)
{
alert("Connected");
}
else
{
alert("Not Connected");
}
</script>
首先检查是否存在互联网连接然后加载外部文件否则加载内部文件
我有一个网站,我想在线和离线工作。我想减少加载时间,所以我缩小了加载缓慢的脚本。它没有足够的工作。在本地,一些脚本需要 4-6 秒才能加载。
我知道 linking 脚本在外部大大加快了速度。我已经尝试过了并且有效。但有些用户将无法访问互联网。有没有办法 link 一组脚本到外部站点,如果它们没有互联网访问权限,则在本地?
<script src="js/jquery-1.9.1.min.js" type="text/javascript"></script>
<script src="js/jquery.dataTables.min.js" type="text/javascript"></script>
<script src="ui/jquery-ui.min.js" type="text/javascript"></script>
您可以执行类似于 this answer. 的操作 基本上,您的想法是尝试为 jQuery 加载基于 Internet 的脚本。之后,您执行一个普通脚本,检查是否 jQuery === undefined
。如果是,您要加载本地副本。
基本上,你想做的事的一个例子:
<script src="[jQueryURL]" type="text/javascript"></script>
<script src="[dataTablesURL]" type="text/javascript"></script>
<script src="[jQueryUIURL]" type="text/javascript"></script>
<script type="text/javascript">
if(jQuery === undefined) {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "js/jquery-1.9.1.min.js";
document.getElementsByTagName('head')[0].appendChild(script);
//repeat for other two scripts here
}
</script>
将会发生的是它会尝试加载有问题的脚本,然后它会检查是否定义了 jQuery。如果不是,则意味着脚本未加载,因此您想加载本地版本并将它们附加到您的 header.
确保脚本声明了一个您可以测试的全局变量。如果外部脚本加载失败(您可以通过测试该变量来确定),则生成一个本地脚本加载元素。
<script src="http://example.com/example.js"></script>
<script>
if !(window.Example) {
document.write('<script src="../scripts/example.js"><\/script>');
}
</script>
<script type="text/javascript">
if(navigator.onLine)
{
alert("Connected");
}
else
{
alert("Not Connected");
}
</script>
首先检查是否存在互联网连接然后加载外部文件否则加载内部文件