我正在使用此代码在我的网站上添加javascript:
<script type="text/javascript" src="https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835"></script>
是否有任何解决方案可以在网站加载后几秒钟内运行/加载此脚本?
答案 0 :(得分:1)
如果外部库中有函数,请照常加载,然后在主页代码中添加:
// When the DOM is built...
window.addEventListener("DOMContentLoaded", function(){
// Run the named function after the specified delay
setTimeout(externalFunctionName, millisecondDelay);
});
如果该外部库中没有命名函数,则将该库中的所有代码包装在命名函数中,并使用上述技术。
答案 1 :(得分:0)
试试这个:
<script>
setTimeout(function()
{
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835";
$("head").append(s);
} , 3000);//3 seconds
</script>
答案 2 :(得分:0)
其中一些答案显示了如何使用jQuery加载脚本。
使用纯JavaScript:
<script>
function loadScript() {
console.log('Loading');
var secondsToWait = 3;
setTimeout(function() {
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835";
var head = document.getElementsByTagName("head")[0];
head.appendChild(s);
}, secondsToWait * 1000);
}
window.addEventListener("DOMContentLoaded", loadScript);
</script>
您可以使用Web开发人员工具中的newtwork选项卡验证其加载情况。
Google加载他们的脚本如下:
<script>
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o), m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
</script>
这相当于:
var a=document.createElement("script");
a.async = 1;
a.src = "https://www.google-analytics.com/analytics.js";
var m = document.getElementsByTagName("script")[0];
m.parentNode.insertBefore(a, m); //insert the srcipt before the first script on the page.
考虑到大多数网页的script
代码中都有<head>
代码,与使用document.getElementsByTagName("head")[0].appendChild
相同。
jQuery loads scripts使用相同的方法将创建的脚本元素附加到head标记:
var script, callback;
return {
send: function( _, complete ) {
script = jQuery( "<script>" ).prop( {
charset: s.scriptCharset,
src: s.url
} ).on(
"load error",
callback = function( evt ) {
script.remove();
callback = null;
if ( evt ) {
complete( evt.type === "error" ? 404 : 200, evt.type );
}
}
);
// Use native DOM manipulation to avoid our domManip AJAX trickery
document.head.appendChild( script[ 0 ] );
},
abort: function() {
if ( callback ) {
callback();
}
}
};