我想使用Scratchblocks (一种从文本列表( 论GitHub)中呈现可视划痕代码块的工具)。我遇到的问题是,在第一次加载时,从来没有呈现过划痕块--只是在刷新之后。
这在标题中(在该特定博客的标题中设置):
<script src="https://scratchblocks.github.io/js/scratchblocks-v3.1-min.js""></script>然后我想我需要在页面的末尾调用这个函数--我已经把它放在页脚中了:
scratchblocks.renderMatching('pre.blocks');注意:当我查看源代码时,我会在页面末尾看到这个JavaScript两次。不知道那里发生了什么。
下面是我网站上的一个例子,它只在刷新后才呈现划痕块。UPDATE -按照下面提供的修复程序,这现在是第一次呈现,每次我都尽可能地tell.http://www.glennbroadway.com/coding-zone/2017/4/6/simple-collisions-in-scratch](http://www.glennbroadway.com/coding-zone/2017/4/6/simple-collisions-in-scratch])2。
下面是一个其他人使用它并正常工作的例子。我已经查过消息来源了,但我不知道他们是怎么做的。https://codeclubprojects.org/en-GB/scratch/memory/
我还尝试了在堆栈溢出的其他地方列出的所有不同方法,以便只在HTML完成后才加载javascript。我无法让他们中的任何一个发挥作用--但我认为问题与斯夸斯帕斯有关,我只是不知道该做些什么。
任何帮助都将不胜感激。
发布于 2017-06-15 12:17:27
在Squarespace中,当您的自定义Javascript只在页面刷新后才能工作时,它很可能与Squarespace的AJAX加载有关
有时,Ajax可能与嵌入式自定义代码或锚链接发生冲突。Ajax还可以干扰站点分析,只记录第一页的点击量。
您可以为模板禁用AJAX。或者,请参阅这里概述的其他方法:https://stackoverflow.com/a/42604055/5338581,包括:
window.addEventListener("mercury:load", function(){
// do stuff
});此外,我通常建议在“页脚”代码注入区域中放置自定义代码,除非您有特定的理由这样做。
https://stackoverflow.com/questions/44567075
复制相似问题