2016-02-13 128 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你使用哪个浏览器?延期应该效果不错 –