首頁  >  問答  >  主體

javascript - 如何讓網站打開前先載入一個js檔案呢?

而且網站載入完成正常開啟後網頁程式碼裡面不顯示那段載入js的程式碼。這種能做到嗎? ? ?求解

曾经蜡笔没有小新曾经蜡笔没有小新2698 天前646

全部回覆(4)我來回復

  • 大家讲道理

    大家讲道理2017-05-31 10:36:00

    不知道題主怎麼定義 網站開啟前呢?

    如果只是說讓網頁早點載入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');
    })()

    不知道這是不是題主要的效果?

    回覆
    0
  • ringa_lee

    ringa_lee2017-05-31 10:36:00

    如果是為了提高載入速度,可以利用緩存,提前載入js,沒遇過

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-31 10:36:00

    用web伺服器(如nginx)往頁裡面插內容?
    接著這段js也在監聽頁面是否被載入完,載入完就刪除自己。

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-31 10:36:00

    iframe裡放實際的網頁,iframe外放js試試?

    回覆
    0
  • 取消回覆