ajax - Squarespace Ajax调用不会加载视频和音频

标签 ajax audio video squarespace

我正在使用Squarespace开发人员模式,我创建了一些JavaScript代码来获取博客文章或事件,但是我遇到的问题是,当我使用Ajax调用来获取事件以在创建的页面中显示事件时,数据已正确加载,除了具有音频和视频的块外,我在图像上也遇到了同样的问题,但是SQS提供了图像的解决方案:
var images = document.querySelectorAll('img[data-src]' ); for (var i = 0; i < images.length; i++) { ImageLoader.load(images[i], {load: true}); }
但这并不能解决音频和视频块,我已经测试了SQS论坛上存在的每个代码部分,但是它们都没有作用,我也测试了建议使用here但没有解决方案。

这是我获取事件的代码:

$(document).ready(function(){
var url = '/test-blog?format=json';
$.getJSON(url).done(function(data) {
  var items = data.items;

  var $_container = $('#events-container-concert');
  var result = "";
  var appendText = [];
  items.forEach(function(elm) {
    var body = elm.body;
    var $_body = $(body);

    appendText.push("<div class='blog-item'><div id='body'>"+body+"</div>");
  });   

  appendText.join(" ");
  $_container.html(appendText);

  var images = document.querySelectorAll('img[data-src]' );
    for (var i = 0; i < images.length; i++) {
    ImageLoader.load(images[i], {load: true});
  }
 });
});

请问有人在SQS上遇到此问题吗?
在SQS论坛上没有人回答我的问题
谢谢

最佳答案

您可以使用它来自动加载所有块(我相信甚至是图像块,但如果没有,则将其与对ImageLoader的调用配对):

window.Squarespace.AFTER_BODY_LOADED = false;
window.Squarespace.afterBodyLoad();

当然,您将需要等到页面上的内容。您可以拉起链接到的页面,然后通过控制台运行这两行作为快速测试。在这种情况下,对我来说效果很好。

引用:https://github.com/Squarespace/squarespace-core/blob/master/src/Lifecycle.js

关于ajax - Squarespace Ajax调用不会加载视频和音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47263440/

相关文章:

javascript - 如何使用CheckBox或将按钮从一个 Activity 切换到另一个 Activity ,在android中打开或关闭一个特定的音频文件?

javascript - jQuery 滚动播放下一个视频

php - 使用AJAX调用PHP页面问题

javascript - Angular ajax 发布到 FormSpree.io

php - 无法通过php上传文件

Android 奇怪的 AudioTrack 崩溃

android - onPeriodicNotification() 在*一些*设备上有抖动

image - 将无序图像组合成视频(+MP3 音频)

php - 单个PHP“退出;”语句可防止Safari中的HTML5视频

javascript - 如何从另一个网站加载 .json 文件?