Javascript 如何在外部和内部链接脚本?
我有一个网站,我想在线和离线工作。我想减少加载时间,所以我缩小了缓慢加载的脚本。这还不够有效。在本地,一些脚本需要4-6秒才能加载 我知道外部链接脚本会大大加快速度。我已经试过了,效果很好。但一些用户将无法访问互联网。有没有一种方法可以将一组脚本链接到外部站点,如果它们没有internet访问权限,是否可以在本地链接Javascript 如何在外部和内部链接脚本?,javascript,css,external,Javascript,Css,External,我有一个网站,我想在线和离线工作。我想减少加载时间,所以我缩小了缓慢加载的脚本。这还不够有效。在本地,一些脚本需要4-6秒才能加载 我知道外部链接脚本会大大加快速度。我已经试过了,效果很好。但一些用户将无法访问互联网。有没有一种方法可以将一组脚本链接到外部站点,如果它们没有internet访问权限,是否可以在本地链接 <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script> <sc
<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>
基本上,您可以执行类似的操作,其思想是尝试为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>
if(jQuery==未定义){
var script=document.createElement(“脚本”);
script.type=“text/javascript”;
script.src=“js/jquery-1.9.1.min.js”;
document.getElementsByTagName('head')[0].appendChild(脚本);
//在这里重复其他两个脚本
}
将要发生的是,它将尝试加载有问题的脚本,然后检查是否定义了jQuery。如果不是,则表示脚本未加载,因此您希望加载本地版本并将其附加到标头。确保脚本声明了一个可以测试的全局变量。然后,如果外部脚本加载失败,则生成一个本地脚本加载元素(您可以通过测试该变量来确定)
如果!(窗口示例){
文件。写(“”);
}
if(navigator.onLine)
{
警报(“已连接”);
}
其他的
{
警报(“未连接”);
}
Nice resource,请尝试用一些代码来补充您的答案。我没有这样做的唯一原因是,所示的答案与我将提供的代码完全相同。没关系,最好包含代码而不仅仅是链接,否则可能只是一条评论或投票支持重复,修改代码以准确地处理op想要的内容,并将其包含在您的答案中可能是更好的方法。并改进您的答案以获得更多选票
<script src="http://example.com/example.js"></script>
<script>
if !(window.Example) {
document.write('<script src="../scripts/example.js"><\/script>');
}
</script>