javascript - Wie lade ich eine JS-Datei, bevor ich eine Website öffne?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-31 10:34:00
0
4
659

Und nachdem die Website normal geladen und geöffnet wurde, wird der Code zum Laden von js nicht im Webseitencode angezeigt. Kann das gemacht werden? ? ? Lösen

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(4)
大家讲道理

不知道题主怎么定义 网站打开前呢?

如果只是说让网页早点加载js文件的话 ,可以把script引用放到head标签去。
不过题意又要求打开后网页代码不显示那段js,我是这么理解的,既然这样,其实主要分两步:

  1. 在head标签写一段内联js代码,代码的主要作用是负责引入js文件以及后续动作

  2. 所谓后续动作,就是引入文件后触发加载事件把这个文件的引入从文档dom里移除

我简单列一个demo:

首先准备页面 t.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>waterfall</title>
    <script type="text/javascript">
        (function(){
            // 动态加载script
            var script = document.createElement('script');
            var head = document.getElementsByTagName('head')[0];
            // console.log(head);
            // 脚本加载完就移除
            script.onload = function(){
                console.log('loaded script ready to remove');
                head.removeChild(script);
            };
            script.src = './t.js';
            console.log('load script');
            // 将script放到head里
            head.appendChild(script);
        })();
    </script>
</head>
<body>
    <p id="wrap" class="wrap"></p>
</body>
</html>

被引入的js: t.js

(function(){
    console.log('hello i am t');
})()

不知道这是不是题主要的效果?

左手右手慢动作

如果是为了提高加载速度,可以利用缓存,提前加载js,没遇到过

世界只因有你

用web服务器(比如nginx)往页面里面插内容?
然后这段js也在监听页面是否被加载完,加载完就删除自己。

Ty80

iframe里放实际的网页,iframe外放js试试?

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage