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

时间:2016-06-17 14:29:09

标签: javascript css external

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

我知道从外部链接脚本会大大加快速度。我试过了它,它的工作原理。但是一些用户将无法访问互联网。有没有办法将一组脚本链接到外部站点,如果他们没有Internet访问权限,可以在本地链接吗?

false

3 个答案:

答案 0 :(得分:1)

您可以执行与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。如果不是,则表示脚本没有加载,因此您需要加载本地版本并将其附加到标题中。

答案 1 :(得分:0)

确保脚本声明了您可以测试的全局变量。如果外部脚本加载失败,则生成本地脚本加载元素(可以通过测试该变量来确定)。

<script src="http://example.com/example.js"></script>
<script>
    if !(window.Example) {
        document.write('<script src="../scripts/example.js"><\/script>');
    }
</script>

答案 2 :(得分:0)

<script type="text/javascript">
	if(navigator.onLine) 
	{ 
		alert("Connected");
	}
	else
	{
		alert("Not Connected");
	}
</script>

首先检查是否存在互联网连接,然后加载外部文件,另外加载内部文件