gpt4 book ai didi

javascript - 加载第三方脚本的正确方法?

转载 作者:行者123 更新时间:2023-12-03 11:37:55 25 4
gpt4 key购买 nike

在 Stackoverflow 的帮助下,我成功地在自己的网站上显示了来自 Tumblr 的博客内容。

我注意到,如果 Tumblr 网站速度很慢,就会影响我自己网站的页面加载速度。

我找到了this article在 javascript.info 上。本文建议使用此代码创建外部脚本 URL 的变量。

 var script = document.createElement('script')
script.src = 'http://ads.com/buyme?rand='+Math.random()

// now append the script into HEAD, it will fetched and executed
document.documentElement.firstChild.appendChild(script)

我(有点)理解前两行发生了什么,但我不明白如何使用代码的最后一位:

 document.documentElement.firstChild.appendChild(script)

如何添加 script变量进入 src脚本?

<script type="text/javascript" src="URL OF SCRIPT TO GO HERE"></script>

希望有人可以提供帮助,这对于我网站上的其他第三方脚本很有用。

更新

感谢“The Spooniest”对此提供的帮助(请参阅下面的线程)。

我在让它与当前页面一起工作时遇到问题,因此我决定将其剥离并创建一个基本页面,看看是否可以让这个脚本正常工作。

下面的代码有效,它在</head>之前删除了Javascript标签。伟大的!然而,当我检查页面(使用开发工具)时,有一些事情困扰着我,我看到了这个警告:

Uncaught SyntaxError: Unexpected token < ?rand=0.9741437959019095:1

有什么想法为什么会出现这种情况吗?有问题吗?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script>
var script = document.createElement('script')
script.src = 'http://ads.com?rand=' + Math.random()

// now append the script into HEAD, it will fetched and executed
document.documentElement.firstChild.appendChild(script)
</script>
<title>Demo</title>
</head>
<body>
<p>A basic page</p>
</body>
</html>

更新日期2

找出问题所在。脚本中的 URL 不是 .js 文件。当我输入链接到 .js 文件(我想要的)的 URL 时,它会起作用!

最佳答案

您已经添加了它。

让我们再看一下代码:

var script = document.createElement('script')
script.src = 'http://ads.com/buyme?rand='+Math.random()

// now append the script into HEAD, it will fetched and executed
document.documentElement.firstChild.appendChild(script)

第一行创建将成为您的 script 标记的元素。第二行将 script.src 设置为特定 URL:在本例中它是一个广告网站,但您可能希望使用 Tumblr 代码的 URL。第三行将您的脚本放在文档元素内第一个标记的末尾(在本例中表示 head)。

神奇的事情发生在前两行。 document.createElement 查看您正在创建的标签的名称,以便找出用于该元素的正确类:对于'script',这意味着使用 HTMLScriptElement。 这个特定的类知道,当您设置其 src 属性时,该属性应该位于 script 标记的 src 属性中。 即使您将其放入文档中,您创建的实例也会记住这一点,因此这就是属性到达那里的方式。

关于javascript - 加载第三方脚本的正确方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26403023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com