(RSS源)未捕获类型错误:无法读取属性'title'的未定义
(RSS Feed) Uncaught TypeError: Cannot read property 'title' of undefined
我正在尝试从Google Blogger Feed中挑选内容http://testdevchuli.blogspot.com/feeds/posts/default?redirect=false&orderby=已发布&alt=json在脚本中&callback=exeRSSpostReader&通过在http://testdevchuli.blogspot.com/您可以通过"检查元素"部分看到错误,其中只有一个红色警告…
Uncaught TypeError: Cannot read property 'title' of undefined
exeRSSpostReaderMain @ (index):1342
exeRSSpostReader @ (index):1313
(anonymous function) @ default?redirect=false&orderby=published&alt=json-in-script&callback=exeRSSpostReader&max-results=5…:2
那为什么会发生。。。???这是我的完整代码从上面的链接。。。
<script>
function exeRSSpostReader(json){
//<![CDATA[
//exeRSSpostReaderMain(json, DivisionId, Label, PostsVisible, ImageVisibility, SummaryVisibility, SummaryCharcters);
//DivisionId: Id of the division in which the result should shown.
//Label: Specific Label, Set "" for all posts.
//PostsVisible: No of posts shown in final result.
//ImageVisibility: Set true if you want thumbnails else set false.
//SummaryVisibility: Set true if you want summary else set false.
//SummaryCharcters: No of character shown in summary.
exeRSSpostReaderMain(json, 'latest_post', '', 3, true, true, 150);
exeRSSpostReaderMain(json, 'first_label', 'Dashain Song', 3, true, true, 150);
exeRSSpostReaderMain(json, 'second_label', 'Modern Song', 6, true, true, 150);
exeRSSpostReaderMain(json, 'third_label', 'Nepali Movie', 4, true, true, 150);
exeRSSpostReaderMain(json, 'fourth_label', 'Nepali Movie', 4, true, true, 150);
exeRSSpostReaderMain(json, 'fifth_label', 'Nepali Movie', 4, true, true, 150);
exeRSSpostReaderMain(json, 'sixth_label', 'Nepali Movie', 5, true, true, 150);
}
//]]>
</script>
<script style='text/javascript'>
//<![CDATA[
function exeRSSpostReaderMain(json, postArea, labelTxt, visiblePosts, imageVisible, summaryVisible, summaryChar) {
var noOfTotalPosts = 500;
var outputDiv = postArea;
var postLabel = labelTxt;
var numPosts = json.feed.openSearch$totalResults.$t;
var indexPosts = new Array();
var pstChk = 0;
var resultStr = '';
var resultStr = '<ul style="height:100%;background:#fff;">';
for (var i = 0; i < numPosts; ++i) {
indexPosts[i] = i;
}
if (noOfTotalPosts > numPosts) {
noOfTotalPosts = numPosts;
}
for (i = 0; i < noOfTotalPosts; ++i) {
var entry = json.feed.entry[indexPosts[i]];
var postTitle = entry.title.$t;
for (var k = 0; k < entry.link.length; k++) {
if ( entry.link[k].rel == 'alternate') {
postURL = entry.link[k].href;
break;
}
}
if ("content" in entry) {
var postContent = entry.content.$t
}
s = postContent;
a = s.indexOf("<img");
b = s.indexOf("src='"", a);
c = s.indexOf("'"", b + 5);
d = s.substr(b + 5, c - b - 5);
if ((a != -1) && (b != -1) && (c != -1) && (d != "")) {
var imageUrl = d
} else var imageUrl = 'https://lh6.googleusercontent.com/-cXUE46Oenac/U6rONTOCYuI/AAAAAAAAQTw/r_WI91TMLpk/s400/Images_no_image.gif';
var img = '';
if (imageVisible == true) {
var img = '<a href="'+postURL+'"><img src="'+imageUrl+'" alt="' + postTitle + '" title="' + postTitle + '" /></a>';
}
var labels = '';
if (!entry.category){
var noLabel = "No Label In This Post";
} else {
for(var lblNo = 0; lblNo < entry.category.length; lblNo++){
labels += entry.category[lblNo].term + ', ';
}
}
if (labels.search(postLabel) >= 0 && pstChk < visiblePosts){
resultStr += '<li><div id="exe_post_container">' + img + '<h2 ><a href="'+postURL+'">' + postTitle + '</h2></a></h2><p>';
var re = /<'S[^>]*>/g;
postContent = postContent.replace(re, "");
if (summaryVisible == true) {
if (postContent.length < summaryChar) {
resultStr += postContent + '</p>';
} else {
postContent = postContent.substring(0, summaryChar);
var quoteEnd_gal = postContent.lastIndexOf(" ");
postContent = postContent.substring(0, quoteEnd_gal);
resultStr += postContent + '...</p>';
}
}
resultStr += '</div></li>';
pstChk++;
}
}
resultStr += '</ul>';
document.getElementById(outputDiv).innerHTML += resultStr;
}
function readMoreWidget() {
var var1 = document.getElementsByTagName('footer')[0].innerHTML;var var2 = var1.search('href="http://www.exeideas.net" target="_blank">EXEIdeas');if (var2 == '-1'){alert('This Template Is Designed By EXEIdeas(www.exeideas.net)');}
}
window.onload = readMoreWidget;
//]]>
</script>
<script src='http://testdevchuli.blogspot.com/feeds/posts/default?redirect=false&orderby=published&alt=json-in-script&callback=exeRSSpostReader&max-results=500'></script>
该错误是由于运行一个循环来获取RSS提要链接中更多的帖子。例如,如果你的RSS提要中有100篇文章,并且你正在运行一个101的循环,那么在运行第101次迭代时,它会在尝试从空空间获取数据时出错,所以尽量减少循环次数。
相关文章:
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 未捕获的类型错误:无法读取属性'删除'的未定义
- AngularJS指令出错-无法读取属性'编译'的未定义
- 未捕获的类型错误:无法读取属性'name'即使它存在,也无法定义
- 看到“;未捕获的类型错误:无法读取属性'weight'未定义的“;尽管按照字面上的指示
- 无法读取属性'材料'未定义的Three.js
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- 未捕获的类型错误:无法读取属性'addEventListener'的null chrome扩展名
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 未捕获的类型错误:无法读取属性'状态'在react中为null
- JavaScript承诺-无法读取属性'那么'的未定义
- Javascript Float32数组抛出无法读取属性'0'即使数组定义良好,也为null
- 未捕获的类型错误:无法读取属性'中止'的未定义
- 角度推入数组给出:TypeError:无法读取属性'推'的未定义
- http/rxjs catch回调中的Angular 2重定向导致TypeError:无法读取属性'订阅'
- Javascript未捕获类型错误:无法读取属性'0'的未定义
- jQuery控制台错误:无法读取属性'top'的未定义
- TypeError:无法读取属性'findAll'的未定义