Squarespace ajax调用不加载视频和音频

时间:2017-11-13 11:38:49

标签: ajax audio video squarespace

我正在使用方空开发者模式,我创建了一些javascript代码来获取我的博客文章或事件,我遇到的问题是,当我使用ajax调用来获取我的事件以在页面中显示它们时我&# 39;已创建,数据加载正确,除了具有音频和视频的块,我有相同的图像问题,但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论坛上没有人回答我的问题 感谢

1 个答案:

答案 0 :(得分:0)

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

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

当然,您要等到内容在页面上。您可以拉出链接到的页面,然后通过控制台运行这两行作为快速测试。在这种情况下,我的工作做得很好。

参考:https://github.com/Squarespace/squarespace-core/blob/master/src/Lifecycle.js