我有以下javascript代码
<script src='https://code.jquery.com/jquery-2.x-git.min.js'/>
<script type='text/javascript'>
//<![CDATA[
imgr = new Array();
imgr[0] = "https://2.bp.blogspot.com/-uitX7ROPtTU/Tyv-G4NA_uI/AAAAAAAAFBY/NcWLPVnYEnU/s1600/no+image.jpg";
showRandomImg1 = true;
aBold = true;
summaryPost = 60;
summaryPost1 = 180;
summaryPost2 = 100;
numposts = 10;
numposts1 = 6;
function removeHtmlTag(strx, chop) {
var s = strx.split("<");
for (var i = 0; i < s.length; i++) {
if (s[i].indexOf(">") != -1) {
s[i] = s[i].substring(s[i].indexOf(">") + 1, s[i].length)
}
}
s = s.join("");
s = s.substring(0, chop - 1);
return s;
}
function favouritePosts(json) {
j = (showRandomImg1) ? Math.floor((imgr.length + 1) * Math.random()) : 0;
img = new Array();
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;
var pcm;
var posturl;
if (i == json.feed.entry.length) break;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break
}
}
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') {
pcm = entry.link[k].title.split(" ")[0];
break
}
}
if ("content" in entry) {
var postcontent = entry.content.$t;
} else if ("summary" in entry) {
var postcontent = entry.summary.$t;
} else var postcontent = "";
postdate = entry.published.$t;
if (j > imgr.length - 1) j = 0;
img[i] = imgr[j];
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 != "")) img[i] = d;
var month = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
var month2 = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
var day = postdate.split("-")[2].substring(0, 2);
var m = postdate.split("-")[1];
var y = postdate.split("-")[0];
var post_id = i;
var postThumbSize = 600;
var postThumb = entry.media$thumbnail.url;
postThumb = postThumb.replace( '/s72-c/', '/s' + postThumbSize + '/' );
var authorname = entry.author[0].name.$t;
var author_img = entry.author[0].gd$image.src;
var author_uri = entry.author[0].uri.$t;
var label_category = entry.category[1].term;
for (var u2 = 0; u2 < month.length; u2++) {
if (parseInt(m) == month[u2]) {
m = month2[u2];
break
}
}
var address = $(postcontent).find("span.address").html();
var map_point = $(postcontent).find("span.map_point").html();
var item = '<div class="listing-item"><article class="geodir-category-listing fl-wrap"><div class="geodir-category-img"><img src="' + postThumb.replace( '/s72-c/', '/s' + 400 + '/' ) + '" alt=""><div class="overlay"></div></div><div class="geodir-category-content fl-wrap"><a class="listing-geodir-category" href="https://tinosemagazine-new.blogspot.com/search/label/'+label_category+'">'+label_category+'</a><div class="listing-avatar"><a href="'+author_uri+'"><img src="'+author_img+'" alt=""></a><span class="avatar-tooltip">Added By <strong>'+authorname+'</strong></span></div><h3><a href="'+posturl+'">'+posttitle+'</a></h3><p>'+removeHtmlTag(postcontent,summaryPost1)+'...</p><div class="geodir-category-options fl-wrap"><div class="listing-rating card-popup-rainingvis" data-starrating2="4"><span>(17 reviews)</span></div><div class="geodir-category-location"><a href="#1" class="map-item"><i class="fa fa-map-marker" aria-hidden="true"></i>'+address+'</a><div id="1"></div></div></div></div></article></div>';
document.write(item);
}
}
//]]>
</script>
上面的javascript带有回调,并带有以下代码
<script>
document.write("<script src=\"https:\/\/tinosemagazine-new.blogspot.com/feeds/posts/summary/-/<data:content/>?max-results=8&orderby=published&alt=json-in-script&callback=favouritePosts\"><\/script>");
</script>
Feed的其他元素,如帖子标题,帖子url,帖子img都被很好地检索,但是关于帖子内容,我遇到以下错误:
Uncaught Error: Syntax error, unrecognized expression: Το ξεκίνησε τη λειτουργία του το 2001. Χτίστηκε σε μία έκταση 3 στρεμμάτων στην παραλία της Αγίας Κυριακής, στην περιοχή Άγιος Ιωάννης Πόρτο, σε απόσταση 30 μέτρων από την ακτή. Επιθυμία μας είναι να προσφέρουμε στον επισκέπτη ένα περιβάλλον που συνδυάζει την γαλήνη του Κυκλαδίτικου τοπίου, τα πεντακάθαρα νερά του Αιγαίου και την μοναδικότηττα της Τηνιακής φιλοξενίας.
at Function.fa.error (jquery-2.x-git.min.js:2)
at fa.tokenize (jquery-2.x-git.min.js:2)
at fa.select (jquery-2.x-git.min.js:2)
at Function.fa [as find] (jquery-2.x-git.min.js:2)
at n.fn.init.find (jquery-2.x-git.min.js:2)
at new n.fn.init (jquery-2.x-git.min.js:2)
at n (jquery-2.x-git.min.js:2)
at favouritePosts ((index):828)
at Νέα Καταχώρηση?max-results=8&orderby=published&alt=json-in-script&callback=favouritePosts:2
fa.error @ jquery-2.x-git.min.js:2
fa.tokenize @ jquery-2.x-git.min.js:2
fa.select @ jquery-2.x-git.min.js:2
fa @ jquery-2.x-git.min.js:2
find @ jquery-2.x-git.min.js:2
n.fn.init @ jquery-2.x-git.min.js:2
n @ jquery-2.x-git.min.js:2
favouritePosts @ (index):828
(anonymous) @ Νέα Καταχώρηση?max-results=8&orderby=published&alt=json-in-script&callback=favouritePosts:2
有什么解决办法吗? 相同的错误是,如果我将英文字母作为帖子内容。...
我不知道这对于问题解决方案是否重要,但是在api回调中
// API callback
favouritePosts({"version":"1.0","encoding":"UTF-8","feed":{"xmlns":"http://www.w3.org/2005/Atom","xmlns$openSearch":"http://a9.com/-/spec/opensearchrss/1.0/","xmlns$blogger":"http://schemas.google.com/blogger/2008","xmlns$georss":"http://www.georss.org/georss","xmlns$gd":"http://schemas.google.com/g/2005","xmlns$thr":"http://purl.org/syndication/thread/1.0","id":{"$t":"tag:blogger.com,1999:blog-7531200907987340158"},"updated":{"$t":"2019-07-10T08:43:16.528-07:00"},"category":[{"term":"lodging"},{"term":"Νέα Καταχώρηση"},{"term":"Στυλ1"}],"title":{"type":"text","$t":"Tinos on map"},"subtitle":{"type":"html","$t":""},"link":[{"rel":"http://schemas.google.com/g/2005#feed","type":"application/atom+xml","href":"https:\/\/tinosemagazine-new.blogspot.com\/feeds\/posts\/summary"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7531200907987340158\/posts\/summary\/-\/%CE%9D%CE%AD%CE%B1+%CE%9A%CE%B1%CF%84%CE%B1%CF%87%CF%8E%CF%81%CE%B7%CF%83%CE%B7?alt=json-in-script\u0026max-results=8\u0026orderby=published"},
直到这时上面的代码为红色,然后代码变为黑色,这就是在api回调中生成语法错误的原因
{"rel":"alternate","type":"text/html","href":"https:\/\/tinosemagazine-new.blogspot.com\/search\/label\/%CE%9D%CE%AD%CE%B1%20%CE%9A%CE%B1%CF%84%CE%B1%CF%87%CF%8E%CF%81%CE%B7%CF%83%CE%B7"},{"rel":"hub","href":"http://pubsubhubbub.appspot.com/"}],"author":[{"name":{"$t":"Loukas"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/04860834199108076132"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"generator":{"version":"7.00","uri":"http://www.blogger.com","$t":"Blogger"},"openSearch$totalResults":{"$t":"1"},"openSearch$startIndex":{"$t":"1"},"openSearch$itemsPerPage":{"$t":"8"},"entry":[{"id":{"$t":"tag:blogger.com,1999:blog-7531200907987340158.post-1538845356800237125"},"published":{"$t":"2019-06-25T04:19:00.000-07:00"},"updated":{"$t":"2019-07-10T07:51:09.432-07:00"},"category":[{"scheme":"http://www.blogger.com/atom/ns#","term":"lodging"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Νέα Καταχώρηση"},{"scheme":"http://www.blogger.com/atom/ns#","term":"Στυλ1"}],"title":{"type":"text","$t":"Nostos Resort"},"summary":{"type":"text","$t":"\u003C\n\nΤο Nostos Resort ξεκίνησε τη λειτουργία του το 2001. Χτίστηκε σε μία έκταση 3 στρεμμάτων στην παραλία της Αγίας Κυριακής, στην περιοχή Άγιος Ιωάννης Πόρτο, σε απόσταση 30 μέτρων από την ακτή. Επιθυμία μας είναι να προσφέρουμε στον επισκέπτη ένα περιβάλλον που συνδυάζει την γαλήνη του Κυκλαδίτικου τοπίου, τα πεντακάθαρα νερά του Αιγαίου και την μοναδικότηττα της Τηνιακής φιλοξενίας.\n\nΑγία "},"link":[{"rel":"replies","type":"application/atom+xml","href":"https:\/\/tinosemagazine-new.blogspot.com\/feeds\/1538845356800237125\/comments\/default","title":"Σχόλια ανάρτησης"},{"rel":"replies","type":"text/html","href":"https:\/\/tinosemagazine-new.blogspot.com\/2019\/06\/nostos-resort.html#comment-form","title":"0 σχόλια"},{"rel":"edit","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7531200907987340158\/posts\/default\/1538845356800237125"},{"rel":"self","type":"application/atom+xml","href":"https:\/\/www.blogger.com\/feeds\/7531200907987340158\/posts\/default\/1538845356800237125"},{"rel":"alternate","type":"text/html","href":"https:\/\/tinosemagazine-new.blogspot.com\/2019\/06\/nostos-resort.html","title":"Nostos Resort"}],"author":[{"name":{"$t":"Loukas"},"uri":{"$t":"http:\/\/www.blogger.com\/profile\/04860834199108076132"},"email":{"$t":"noreply@blogger.com"},"gd$image":{"rel":"http://schemas.google.com/g/2005#thumbnail","width":"16","height":"16","src":"https:\/\/img1.blogblog.com\/img\/b16-rounded.gif"}}],"media$thumbnail":{"xmlns$media":"http://search.yahoo.com/mrss/","url":"https:\/\/1.bp.blogspot.com\/-EpGgot5jz9A\/XRvJibRcz1I\/AAAAAAAAl1s\/5KupjmPmAKEovM0lozwYs637uk-CDp-eACLcBGAs\/s72-c\/02.jpg","height":"72","width":"72"},"thr$total":{"$t":"0"}}]}});
好吧,问题出在文本中的点...由于某种原因,帖子内容中的点在json提要中生成错误....如何解决?