借助Stackoverflow的一些帮助,我设法在我自己的网站上显示来自Tumblr的博客内容。
我注意到如果Tumblr网站速度很慢,会影响我自己网站的网页加载速度。
我在javascript.info上找到了this article。本文建议使用此代码创建外部脚本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>
希望有人可以提供帮助,这对我网站上的其他第三方脚本非常有用。
感谢#Spooniest&#39;帮助解决这个问题(见下面的主题)。
我在使用当前页面时遇到问题,所以我决定将其删除并创建一个基本页面,看看我是否可以使这个脚本正常工作。
以下代码有效,它会在</head>
标记之前删除Javascript。大!然而,当我检查页面时,有些困扰我的东西(使用Dev Tools)我看到了这个警告:
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>
弄清问题是什么。脚本中的URL不是.js文件。当我输入一个链接到.js文件的URL(我想要的)时,它就可以了!
答案 0 :(得分:1)
您已添加。
让我们再次查看代码:
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
设置为特定网址:在这种情况下,它是指广告网站,但您可能希望使用Tumblr代码的网址。第三行将您的脚本放在文档元素中的第一个标记的末尾(在本例中为head
)。
魔术发生在前两行。 document.createElement
查看您正在创建的标记的名称,以便找出用于该元素的正确类:对于'script'
,这意味着使用HTMLScriptElement。 此特定类知道当您设置其src
属性时,该属性应该包含在src
标记的script
属性中。该实例您创建后即使将其放入文档中也会记住这一点,以便该属性如何实现。
答案 1 :(得分:0)
document.documentElement.firstChild.appendChild(script)
上面的代码会将脚本添加到页面的head标签中。由于document.documentElement.firstChild
将指向头标记。
您不必将script
变量添加到src中,因为它已经被javascript代码处理了。
通常建议应始终在页面底部添加javasript文件。这样页面加载速度更快。