我网站上的许多页面都有自己的javascript文件,这些文件包含在各自的页面中。
SmoothState 提供了 onAfter 处理程序来重新初始化插件,其中一些页面的 javascript 文件有自己的"init 函数"来初始化它们正在使用的任何插件。所以很明显,目标是在 onAfter 处理程序中调用这些初始化函数。
然而,SmoothState似乎保持每个页面的javascript文件加载。这导致其中一些脚本具有相同名称的函数(但显然功能不同),这导致其中一些被"替换"。
例如,永远不会正确调用 init 函数,因为上次加载的页面会覆盖它。
我玩弄了一下这个。
您需要将每页唯一的<script>
标记放置在您提供给 smoothstate 的容器内,以便在初始化期间进行 smoothstate。即,在"主"div 内部。也许这在文档中的某个地方,但我没有看到它。
主div 之外的所有内容都不会重新加载。