2016-02-13 175 views
2

我們通過webnode.nl創建了一個網站,因爲我們沒有足夠的時間使用html製作網站。現在我們使用帶有指向該網站鏈接的腳本標記的外部網站添加了一個小部件。但通過這個小部件頁面加載緩慢。現在我有了在頁面加載後運行腳本的想法。但是我無法訪問小部件的代碼,也無法訪問網站的html。我只能訪問粘貼腳本標籤的代碼塊。加載時運行外部JavaScript文件

腳本標籤:

<script type="text/javascript" src="http://mycountdown.org/countdown.php?cp2_Hex=d21a1a&cp1_Hex=F9F9FF&img=-3&hbg=&fwdt=420&lab=1&ocd=My Countdown&text1=Valentijnsdag!&text2=valentijnsdag!&group=My Countdown&countdown=My Countdown&widget_number=3015&event_time=1455408000&timezone=Europe/Amsterdam"></script> 

有人能幫助我嗎?

PS:英語不是我的第一語言,所以我不知道如果我的英語是正確的

+0

在的''剛剛結束關閉''前添加腳本標籤。 – Lal

+0

我無法訪問整個html。只有我可以添加html的litle代碼塊。 – tuin2121

回答

0

如果您可以編寫腳本塊,然後在任何允許使用的地方寫入以下內容。

<script> 
 
    // Create a <script ...></script> element 
 
    var widget = document.createElement('script'); 
 

 
    // Set src="URL_of_widget" 
 
    widget.setAttribute('src', 'http://mycountdown.org/countdown.php?cp2_Hex=d21a1a&cp1_Hex=F9F9FF&img=-3&hbg=&fwdt=420&lab=1&ocd=My Countdown&text1=Valentijnsdag!&text2=valentijnsdag!&group=My Countdown&countdown=My Countdown&widget_number=3015&event_time=1455408000&timezone=Europe/Amsterdam'); 
 
    
 
    // Set async 
 
    widget.setAttribute('async', 'async'); 
 

 
    // Insert <script> as the last element child of <body> 
 
    document.body.appendChild(widget); 
 
</script>

1

將其放置在<body>結束,並添加async到腳本標籤即

<script async src=""></script> 

更多的信息在這裏:http://www.growingwiththeweb.com/2014/02/async-vs-defer-attributes.html還有defer屬性。

通常,您希望儘可能使用async,然後推遲然後再沒有 屬性。以下是一些通用規則:如果腳本是 模塊化,並且不依賴任何腳本,則使用異步。如果腳本 依賴於或依賴於另一個腳本,則使用延遲。如果 腳本很小,並且依賴於異步腳本,則使用 內聯腳本,而不在異步腳本之上放置任何屬性。

編輯 您可以用推遲會更好:

延遲下載HTML解析過程中的文件和解析器完成後,將只執行它 。延期腳本也保證按其出現在文檔中的順序執行。

+0

讓我知道這是否適合你。 –

+0

它不起作用。我添加了延遲屬性,但現在腳本不執行。 – tuin2121

+0

@ tuin2121你使用哪個瀏覽器?延期應該效果不錯 –