javascript只在页面刷新Squarespace站点上执行,不涉及TurboLink

javascript只在页面刷新Squarespace站点上执行,不涉及TurboLink,javascript,jquery,responsive-design,squarespace,Javascript,Jquery,Responsive Design,Squarespace,在这个网站上有类似的问题标题,我已经阅读了他们的所有解决方案,但问题总是与TurboLink或其他相关。在本例中,我只使用javascript/jQuery,因此这些解决方案是不相关的 我写了一个简单的脚本,找到最高的容器,然后调整块中其余的容器,使其与最高的容器的高度相同。我将此脚本应用于Squarespace摘要块,以便同一块中的所有摘要项都具有相同的高度 然后,我添加了一个条件语句,该语句将导致此功能仅在屏幕宽度大于810px时执行 结果是,这个脚本完全按照它应该的方式工作,但只有当我直接

在这个网站上有类似的问题标题,我已经阅读了他们的所有解决方案,但问题总是与TurboLink或其他相关。在本例中,我只使用javascript/jQuery,因此这些解决方案是不相关的

我写了一个简单的脚本,找到最高的容器,然后调整块中其余的容器,使其与最高的容器的高度相同。我将此脚本应用于Squarespace摘要块,以便同一块中的所有摘要项都具有相同的高度

然后,我添加了一个条件语句,该语句将导致此功能仅在屏幕宽度大于810px时执行

结果是,这个脚本完全按照它应该的方式工作,但只有当我直接进入页面或刷新页面时。如果我从另一个页面导航到该页面,它将不起作用

    $(function() {
     if($(window).width() > 810){
     var maxheight=-1;
     $('#block-yui_3_17_2_25_1494432854570_9795 .summary-excerpt').each(function() {
      if(maxheight < $(this).height())
      {
          maxheight = $(this).height();
      }
     });
     $('#block-yui_3_17_2_25_1494432854570_9795 .summary-excerpt').each(function() {
 $(this).height(maxheight);
     }); 
   }
});
$(函数(){
如果($(窗口).width()>810){
var maxheight=-1;
$(“#block-yui_3_17_2_25_1494432854570_9795.摘要摘录”)。每个(函数(){
如果(最大高度<$(此).height())
{
maxheight=$(this.height();
}
});
$(“#block-yui_3_17_2_25_1494432854570_9795.摘要摘录”)。每个(函数(){
$(此).height(最大高度);
}); 
}
});
我非常感谢您的任何想法,因为我已经研究了每一个与我类似的问题,并且没有一个解决方案对我有效


注意:我没有得到一个错误。我在if语句前面放了一个alert(),它确认了当您从另一个页面导航到该页面时,该函数不会运行。然而,正如预期的那样,当我刷新页面时,我确实会收到一个警报。

在Squarespace中,当您的自定义Javascript仅在页面刷新后工作时,它很可能与:

有时,Ajax可能会与嵌入的自定义代码或锚冲突 链接。Ajax还可以干扰站点分析,记录点击率 只有第一页


您可以为模板禁用AJAX。或者,请参阅此处概述的其他方法:

我认为您需要定义“不起作用”。你有错误吗?您是否尝试过在
if
语句之前放置
console.log()
语句,以查看实际上是否正在调用该函数?我没有收到错误。我在if语句前面放了一个alert(),它确认了当您从另一个页面导航到该页面时,该函数不会运行。当然,当我刷新页面时,我会得到一个提醒。非常感谢Brandon,但我仍然没有解决这个问题。我尝试同时使用window.Template.Constants.AJAXLOADER=false;window.onload=function(){this.AjaxLoader.prototype.initializeSqsBlocks=function(){window.SQS.Lifecycle.init();console.log(“Foo!”);window.CUSTOM.YourCustomInitFunction();};在头代码注入中,但没有效果=(您是否尝试过首先完全禁用AJAX以验证这是否是问题所在?您是否也尝试过这样做:
window.addEventListener(“mercury:load”,function(){//do stuff});
,正如链接到的答案中所建议的那样?我最终在样式编辑器中找到了禁用AJAX加载的选项(它不会出现在“site:load”下)就像说明书上说的)现在一切都正常了。非常感谢。