我正在使用方空开发者模式,我创建了一些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论坛上没有人回答我的问题 感谢
答案 0 :(得分:0)
您可以使用它自动加载所有块(我相信甚至图像块,但如果没有,那么将它与您对ImageLoader的调用配对):
window.Squarespace.AFTER_BODY_LOADED = false;
window.Squarespace.afterBodyLoad();
当然,您要等到内容在页面上。您可以拉出链接到的页面,然后通过控制台运行这两行作为快速测试。在这种情况下,我的工作做得很好。
参考:https://github.com/Squarespace/squarespace-core/blob/master/src/Lifecycle.js