javascript - 尽管有 Ajax,如何重写 javascript 以强制它加载?
问题描述
我有以下 javascript 代码,问题是我正在处理的 Squarespace 网站需要 Ajax 加载。因此,只有在加载后刷新页面时,此代码才有效。更多关于这个问题的信息在这里https://forum.squarespace.com/topic/87058-why-doesnt-my-javascript-code-work-until-i-refresh-the-page/
我将不胜感激任何关于如何重写它的指针,以便它在 Ajax 的情况下加载。当我禁用 Ajax 时,它的效果非常好,但不幸的是,我需要将其打开以使站点的其余部分看起来不错。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script> $(document).ready(function(){
$('.markdown-block .sqs-block-content h3').css('cursor','pointer');
$(".markdown-block .sqs-block-content h3").nextUntil("h3").slideToggle();
$(".markdown-block .sqs-block-content h3").click(function()
{$(this).nextUntil("h3").slideToggle();}); }); </script>
解决方案
这是一个常见问题,开发人员有几种常见的解决方案。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
window.Squarespace.onInitialize(Y, function() {
$('.markdown-block .sqs-block-content h3').css('cursor','pointer');
$(".markdown-block .sqs-block-content h3").nextUntil("h3").slideToggle();
$(".markdown-block .sqs-block-content h3").click(function() {
$(this).nextUntil("h3").slideToggle();
});
});
</script>
推荐阅读
- keycloak - 尝试在两个 Keycloak 之间联合用户时出现意外错误(来自令牌的错误受众)
- python - 列表中的重复字符串不会被删除,除非最相似的字符串在子列表中
- openssl - 将普通公钥转换为 PEM
- java - 在项目中添加 Java 代码模板 XML 文件
- sql - 如何强制生成新的 sysdatetime()?
- authentication - 如何使用 Postman 创建 oAuth 随机数、时间戳和签名?
- c# - 为什么 jquery datable 显示旧记录而不是新记录?
- powershell - 如何快速更改 shell 文件夹以匹配当前打开的文件
- angular - NumbersOnly 指令 - 检测复制和粘贴键盘组合
- unity3d - 在代码创建的组件上设置必填字段的选项?