Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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 如何在外部和内部链接脚本?_Javascript_Css_External - Fatal编程技术网

Javascript 如何在外部和内部链接脚本?

Javascript 如何在外部和内部链接脚本?,javascript,css,external,Javascript,Css,External,我有一个网站,我想在线和离线工作。我想减少加载时间,所以我缩小了缓慢加载的脚本。这还不够有效。在本地,一些脚本需要4-6秒才能加载 我知道外部链接脚本会大大加快速度。我已经试过了,效果很好。但一些用户将无法访问互联网。有没有一种方法可以将一组脚本链接到外部站点,如果它们没有internet访问权限,是否可以在本地链接 <script src="js/jquery-1.9.1.min.js" type="text/javascript"></script> <sc

我有一个网站,我想在线和离线工作。我想减少加载时间,所以我缩小了缓慢加载的脚本。这还不够有效。在本地,一些脚本需要4-6秒才能加载

我知道外部链接脚本会大大加快速度。我已经试过了,效果很好。但一些用户将无法访问互联网。有没有一种方法可以将一组脚本链接到外部站点,如果它们没有internet访问权限,是否可以在本地链接

 <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>