个性化阅读
专注于IT技术分析

TypeError:无法读取getFeaturedImage上未定义的属性”width”(related.js:24)

我编写了将相关文章加载到WordPress单篇文章中的代码。我有js可以调整精选图片的大小。当特色图片成为帖子的一部分时, 我遇到了错误。

TypeError: Cannot read property 'width' of undefined  at getFeaturedImage (related.js:24) 

如果帖子中没有特色图片, 则相关帖子一切正常。

注意:我正在使用WP RIG开发该站点。

以下代码来自related.js文件。

// Get the featured image if there is a featured image.
function getFeaturedImage(postObject) {
        // If there is no featured image, exit the function returning nothing.
        if (0 === postObject.featured_media) {
            return "";
        } else {
            let featuredObject = postObject._embedded["wp:featuredmedia"][0];
            console.log(featuredObject);
            let imgWidth = featuredObject.media_details.sizes.wpRigRelated.width;
            let imgHeight = featuredObject.media_details.sizes.wpRigRelated.height;

            return `
            <figure class="related-post__image">
                <img 
          src="${featuredObject.media_details.sizes.wpRigRelated.source_url}"
                'width="${imgWidth}"
                'height="${imgHeight}"
                'alt="" ' +
                >
            </figure>`;
        }
}

#1


如果特色图片是帖子的一部分, 则FeatureObject可能是未定义的(根据你的解释)。

如果是这种情况, 在尝试访问对象的宽度和高度之前, 请检查其是否未定义。

if(typeof featuredObject === "undefined") {
  return "";
}

因此, 如果未定义, 此函数将返回一个空字符串, 但如果已定义, 它将继续执行脚本。

(考虑在你的开发人员工具中共享console.log(featuredObject);的输出, 因为它可能会指出未明确定义的内容)

赞(0)
未经允许不得转载:srcmini » TypeError:无法读取getFeaturedImage上未定义的属性”width”(related.js:24)

评论 抢沙发

评论前必须登录!