在特定秒后运行javascript

在特定秒后运行javascript,javascript,php,html,Javascript,Php,Html,我通过以下代码在我的网站上添加javascript: <script type="text/javascript" src="https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835"></script> 是否有任何解决方案可使此脚本在加载网站几秒钟后运行/加载?如果外部库中有函数,请按常规加载,然后在主页代码中添加: // When the DOM

我通过以下代码在我的网站上添加javascript:

<script type="text/javascript" src="https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835"></script>


是否有任何解决方案可使此脚本在加载网站几秒钟后运行/加载?

如果外部库中有函数,请按常规加载,然后在主页代码中添加:

 // When the DOM is built...
 window.addEventListener("DOMContentLoaded", function(){
   // Run the named function after the specified delay
   setTimeout(externalFunctionName, millisecondDelay);  
 });
如果该外部库中没有命名函数,则将该库中的所有代码封装在命名函数中,并使用上述技术。

尝试以下方法:

<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>

setTimeout(函数()
{
var s=document.createElement(“脚本”);
s、 type=“text/javascript”;
s、 src=”https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835";
$(“标题”)。追加;
} , 3000);//3秒

几个答案显示了如何使用jQuery加载脚本

使用纯JavaScript:


函数loadScript(){
console.log(“加载”);
var secondsToWait=3;
setTimeout(函数(){
var s=document.createElement(“脚本”);
s、 type=“text/javascript”;
s、 src=”https://www.fileoasis.net/contentlockers/load.php?id=6f29997ae5eebe6d78b97e842d1c3835";
var head=document.getElementsByTagName(“head”)[0];
头.附肢儿童;;
},第二名(AIT*1000);
}
addEventListener(“DOMContentLoaded”,loadScript);

是的,有几个……看起来你是新来的。欢迎如果你不表现出你的努力,人们不愿意帮助你。请提供您的一些尝试代码。@Bryan在字里行间阅读。延迟后加载脚本的原因是延迟其内容的执行。这就是我的问题的答案。@Bryan有什么办法可以让这个脚本在网站加载几秒钟后运行/加载吗?这正是我的代码所做的。另外,如果你的意思是为什么你不能直接在@me上发表评论,那是因为你评论的是我的答案。这里没有必要这么做。你不能直接对你已经在评论的人的答案发表评论。@Bryan[叹气]这个问题没有用jQuery标记。我们不会为那些没有被要求的技术问题提供答案。@Bryan[更感叹]jQuery是一个用JavaScript编写的API。它需要额外的库下载,从而修改站点的体系结构。这不仅仅是一些你应该随便“投入”的东西,以使某些东西发挥作用。在堆栈溢出时,我们使用基于问题标签的答案回答问题。仅仅因为您看到了JavaScript,并不意味着需要JQuery答案。这就是为什么有一个单独的JQuery标记。@Bryan没有人居高临下。我将向您解释堆栈溢出是如何工作的。JQuery是用JavaScript编写的,但它是一个单独的API,句号。这是一个非常简单的概念,因为你一直在推回这个概念以及问号的含义,坦率地说,它给人的印象是你很固执。我也不知道你所说的
是什么意思,这就是为什么我没有用jQuery解决方案回答你的问题,因为你在评论中发布了jQuery解决方案!值得注意的是,这需要是最后一页。如果它位于页眉中,页面加载需要3秒钟,则加载时会立即执行,而不是在页面加载后3秒钟执行(如OP所要求的)。OP没有提到jQuery。另加$(“标题”)。追加;在某些浏览器中无法加载脚本。虽然从直觉上看这似乎是正确的答案,但事实并非如此。这是因为尽管这会导致元素包含在DOM中,但实际上不会执行它,因为DOM已经被解析了。这个答案唯一可行的方法是在注入新的
脚本
后重新解析DOM。@MagnusEriksson我不确定这一点。3秒延迟是JS运行时执行其他工作时等待的最小延迟。它与解析页面的HTML解析器无关。只要该代码是页面中(页面上的任何位置)的唯一代码,无论HTML解析器在做什么,它都应该在遇到该代码后运行大约3秒钟。@ScottMarcus我也不是100%确定。不管怎么说,考虑你的第一条评论并不重要,这似乎是一个更大的问题。虽然直觉上这似乎是正确的答案,但事实并非如此。这是因为尽管这会导致元素包含在DOM中,但实际上不会执行它,因为DOM已经被解析了。这个答案唯一可行的方法是在注入新的
脚本后重新解析DOM。我一直在使用它,特别是在页面上没有jQuery的情况下加载它。你可能需要彻底测试你的页面,因为众所周知,这并不普遍有效。请向我展示这不起作用的文档。您可能会将其与
$('head')混淆。append
并不普遍有效,这就是为什么我添加了一种普通的javascript方法来加载脚本,并使用
jQuery('head')。append
加载脚本。我不会将其与jQuery混淆,因为我在本文中没有讨论jQuery。外面有很多。