javascript - 如何修复未捕获的 ReferenceError:未定义缩略图 - 使用以下代码
问题描述
我已经在我的网站上安装了这个博主最近使用 JavaScript 的帖子代码。有时此代码不起作用,当我使用 google chrome 开发工具检查时,我收到如下错误:未捕获的 ReferenceError:未定义缩略图- 使用以下代码。
下面我附上了 Javascript、Css 和 HTMl 代码。我需要有关此 JavaScript 函数的帮助。
.mbtlist {
list-style-type: none;
overflow: hidden
}
.mbtlist li {
margin: 0px auto 20px auto;
clear: both;
color: #666;
font-family: Helvetica;
font-size: 12px;
border-bottom: 1px dotted #ddd;
padding-bottom: 10px;
overflow: auto;
}
.mbtlist .mbttitle {
font-family: oswald;
font-size: 16px;
color: #0080ff;
font-weight: normal;
text-decoration: none;
}
.mbtlist .mbttitle:hover {
color: #00A5FF;
}
font-family:georgia;
font-size:15px;
font-weight:bold
}
.mbtlist div span {
margin: 0 10px 0 0;
display: inline-block;
}
.mbtlist span {
display: block;
margin: 5px 0px 0px;
padding-right: 5px;
}
.mbtlist .imore {
font-size: 16px;
font-weight: bold;
text-decoration: none;
color: #666;
line-height: 0.7em;
}
.mbtlist img {
float: left;
margin: 0px 10px 10px 0px;
border: 6px solid #fff;
padding: 0px;
width: 80px;
height: 65px;
box-shadow: -1px -1px 4px #777;
}
.mbtlist .icontent {
text-align: justify;
}
<script>
function getPosts(json) {
var posts = "<ul class=mbtlist>";
for (var i = 0; i < json.feed.entry.length; i++) {
var title = json.feed.entry[i].title.$t;
var url = json.feed.entry[i].link.pop().href;
if (json.feed.entry[i].media$thumbnail){
thumbUrl = json.feed.entry[i].media$thumbnail.url;
thumbnail= thumbUrl.replace("/s72-c/","/s"+80+"/");
}
posts += "<li><a class='mbttitle' href='" + url + "'><img src='" + thumbnail + "'>" + title + "</a></li>";
}
posts+='</ul>';
document.getElementById('container').innerHTML = posts;
}
</script>
<div id="container"></div>
<script src="https://www.sebahotnews.org/feeds/posts/default/-/জাতীয়
?max-results=5&alt=json&callback=getPosts"></script>
解决方案
发生这种情况是因为某些帖子没有图像或外部托管的图像,我们可以使用这样的后备图像
for (var i = 0; i < json.feed.entry.length; i++) {
var title = json.feed.entry[i].title.$t;
var url = json.feed.entry[i].link.pop().href;
// define thumbnail variable
var thumbnail;
if (json.feed.entry[i].media$thumbnail) {
thumbUrl = json.feed.entry[i].media$thumbnail.url;
thumbnail = thumbUrl.replace("/s72-c/", "/s" + 80 + "/");
} else {
// if post thumbnail not found use a fallback image
thumbnail = "https://www.blogger.com/img/logo_blogger_40px.png"
}
posts += "<li><a class='mbttitle' href='" + url + "'><img src='" + thumbnail + "'>" + title + "</a></li>";
}
推荐阅读
- typescript - 具有未知键的属性的 Io-ts 接口
- python - 如何将表示为字符串的二进制数拆分为子字符串
- regex - 如何在 VSCode 的搜索和替换中匹配不包含字符串的字符串?
- react-native - Expo 无法识别 .d.ts 文件
- node.js - 用数据库中的产品组织尺寸/颜色的最佳方法
- sql - 在 SQL Server Express 中获取 SQL 实例返回错误
- python - django url dispatcher 的问题,无法解析 url
- python-3.x - 熊猫减去列匹配的数据框
- ruby-on-rails - React Rails Uncaught SyntaxError: Unexpected token '!'
- python - np.ufunc.at 和 np.ix_ 的 Numpy 多维索引