我正在尝试在页面加载后立即加载广告脚本。通常,广告脚本看起来像这样
<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。
答案 0 :(得分: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>
答案 1 :(得分:0)
嗯,有两个主要错误:
在函数声明中编写<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>
答案 2 :(得分:0)
在页面加载之前或之后处理jQuery的简便方法:
d3.select('input').on('keydown', () => d3.event.stopPropagation())
然后在第二部分(用于在页面加载后处理jQuery )中使用jQuery.getScript()
加载Javascript文件:
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.
});
如果您希望新的JS在加载JS文件后立即启动,请按照以下步骤操作:
$.getScript('/js/main.js');
答案 3 :(得分:-1)
尝试这种方式:
<script async src="url_to_ad"></script>
它可能会奏效。脚本元素上的boolean async属性允许外部JavaScript文件在可用时运行,而不会首先延迟页面加载。