如何在页面加载后加载脚本标记?

问题描述 投票:0回答:4

我正在尝试在页面加载后立即加载广告脚本。通常,广告脚本如下所示

<script id="someId" language="javascript">
    someVar = thisValue;
    somethingElse
</script>

请注意,它上面已经有一个<script>标记,删除它不会呈现广告。因此,无论如何都必须在那里,而且不应该修改内部的东西。

这个问题是,我不能尝试将它放在一个函数中。

我试图这样做,在负载下吃<script>标签

<script type="text/javascript">
function load() {
    //this is were the add goes
    <script id="someId" language="javascript">
        someVar = thisValue;
        somethingElse
    </script>
}
</script>

然后通过以下方式午餐

<script type="text/javascript">window.onLoad = load;</script>

所以这在技术上是我想要做的,但我不能执行此代码。什么是最好的,在页面加载后运行''标记广告?

PS。我是Javascript的新手,所以更多的耐心将不胜感激。我也想避免使用jQuery。

javascript php html
4个回答
0
投票

快速搜索延迟加载找到this

<script>
  var resource = document.createElement('script'); 
  resource.async = "true";
  resource.src = "http://example.com/script.js";
  var script = document.getElementsByTagName('script')[0];
  script.parentNode.insertBefore(resource, script);
</script>

0
投票

那么,有两个主要的错误:

  1. window.onload = load; (不是onLoad)
  2. 在函数声明中编写<script>是没有意义的 <script> function load() { //this is were the add goes someVar = thisValue; somethingElse } window.onload = load; </script>

你不能写那样的东西吗?

如果你不能,至少,尝试将你的<script>移动到<body>的末尾。

将脚本放置在元素的底部可以提高显示速度,因为脚本编译会降低显示速度。

如果你真的需要<script id="someId" language="javascript">,只需这样放置:

    <script id="someId" language="javascript">
        function load() {
            //this is were the add goes
            someVar = thisValue;
            somethingElse
        }
        window.onload = load;
    </script>

0
投票

在页面加载之前或之后处理jQuery的简单方法:

jQuery(function($){
    // Use jQuery code here with $ formatting.
    // Executes BEFORE page finishes loading.
});

jQuery(document).ready(function($){
    // Use jQuery code here with $ formatting.
    // Executes AFTER page finishes loading.
});

然后在第二部分,在页面加载后处理jQuery,使用jQuery.getScript()加载你的Javascript文件:

$.getScript('/js/main.js');

如果你想在JS文件加载后立即启动新的JS,那么简单就像这样:

$.getScript('/js/main.js', function() {
    // Executes AFTER main.js file is loaded.
});

Click here for jsFiddle example


-1
投票

试试这种方式:

<script async src="url_to_ad"></script>它可能有效。脚本元素上的布尔异步属性允许外部JavaScript文件在可用时运行,而不会首先延迟页面加载。

© www.soinside.com 2019 - 2024. All rights reserved.