Javascript 延迟加载数据属性为-Pinterest的脚本
我有这个代码,我想推迟10秒后加载Javascript 延迟加载数据属性为-Pinterest的脚本,javascript,pinterest,Javascript,Pinterest,我有这个代码,我想推迟10秒后加载 我尝试的是: <script> $(document).ready(function(){ jQuery.loadScript = function (url, callback) { jQuery.ajax({ url: url, dataType: 'script', success: callback, async: tr
我尝试的是:
<script>
$(document).ready(function(){
jQuery.loadScript = function (url, callback) {
jQuery.ajax({
url: url,
dataType: 'script',
success: callback,
async: true
});
};
setTimeout(function() {
$.loadScript("https://assets.pinterest.com/js/pinit.js", function(){
// Do nothing for now
});
}, 10000);
});
</script>
$(文档).ready(函数(){
jQuery.loadScript=函数(url,回调){
jQuery.ajax({
url:url,
数据类型:“脚本”,
成功:回调,
异步:true
});
};
setTimeout(函数(){
$.loadScript(“https://assets.pinterest.com/js/pinit.js“,函数(){
//现在什么都不要做
});
}, 10000);
});
具有不同的变体以包括数据pin hover=“true”部分,但没有任何帮助
有什么想法吗
谢谢大家! 最终使用jquery和纯js完成:
<script>
$(document).ready(function() {
setTimeout(function () {
(function(d,s,id){
var js,fjs = d.getElementsByTagName(s)[0];
if(d.getElementById(id)){return;}
js=d.createElement(s);
js.id=id;
js.setAttribute("data-pin-hover", true);
js.src="https://assets.pinterest.com/js/pinit.js";
fjs.parentNode.insertBefore(js,fjs);
}(document, "script", "pinterest-x3f")
);
}, 10000);
});
</script>
$(文档).ready(函数(){
setTimeout(函数(){
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;
js.id=id;
setAttribute(“数据针悬停”,true);
js.src=”https://assets.pinterest.com/js/pinit.js";
fjs.parentNode.insertBefore(js,fjs);
}(文件,“脚本”,“pinterest-x3f”)
);
}, 10000);
});
我认为jQuery的ajax方法无法做到这一点,相反,您可以创建一个元素并向其中添加属性
就你而言:
$(document).ready(function(){
function loadScript(src, attributes) {
// creates a <script> tag and append it to the page
// this causes the script with given src to start loading and run when complete
let script = document.createElement('script');
script.src = src;
for(const element in attributes) {
script.setAttribute(element, attributes[element]);
}
console.log(script)
document.body.append(script);
}
setTimeout(function() {
let attributes = {
'data-pin-hover' : true,
defer: '',
async: '',
}
loadScript("https://assets.pinterest.com/js/pinit.js", attributes, function(){
// nothing
});
}, 10000);
});
$(文档).ready(函数(){
函数加载脚本(src,属性){
//创建标记并将其附加到页面
//这将导致具有给定src的脚本开始加载并在完成时运行
让script=document.createElement('script');
script.src=src;
for(属性中的常量元素){
setAttribute(元素,attributes[element]);
}
console.log(脚本)
document.body.append(脚本);
}
setTimeout(函数(){
让属性={
“数据针悬停”:true,
延迟:'',
异步:“”,
}
加载脚本(“https://assets.pinterest.com/js/pinit.js,属性,函数(){
//没什么
});
}, 10000);
});