人気記事
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_1");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
🐤人気記事(芸能)
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_4");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
⛅️人気記事(討論)
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_3");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
🐔人気記事(政治)
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_7");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
🍽️人気記事(AI)
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_8");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
🐮人気記事(SNS)
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_9");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
🥩人気記事(サブカル)
読み込み中...
画像読み込み中...
';
loadImagesSequentially(articles, function () {
renderSlider(articles);
});
});
function renderSlider(articles) {
var pages = chunk(articles, DISPLAY_COUNT);
pageCount = pages.length;
var html = "";
html += '';
html += '
';
for (var i = 0; i ';
html += '
';
html += '';
html += '';
html += '';
html += '
';
root.innerHTML = html;
track = root.querySelector(".alfa-track");
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
currentIndex = 0;
setPosition(false);
startAuto();
}
function createPageHtml(pageArticles) {
var html = '';
for (var i = 0; i ';
return html;
}
function createCardHtml(article) {
var html = "";
html += '
';
html += '';
if (article.image) {
html += '
';
}
html += '
';
return html;
}
function moveNext() {
if (!track || isMoving) return;
isMoving = true;
currentIndex++;
setPosition(true);
if (currentIndex === pageCount) {
setTimeout(function () {
currentIndex = 0;
setPosition(false);
isMoving = false;
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (!track || isMoving) return;
isMoving = true;
if (currentIndex === 0) {
currentIndex = pageCount;
setPosition(false);
setTimeout(function () {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}, 20);
} else {
currentIndex--;
setPosition(true);
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function setPosition(animated) {
if (!track) return;
track.style.transition = animated ? "transform 0.45s ease" : "none";
track.style.transform = "translateX(-" + (currentIndex * PAGE_WIDTH) + "px)";
}
function startAuto() {
stopAuto();
timerId = setInterval(moveNext, INTERVAL);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
}
function parseRdf(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i = articles.length) {
done();
return;
}
var article = articles[i++];
if (article.image) {
next();
return;
}
requestText(article.link, 4000, function (err, html) {
if (!err && html) {
article.image = extractImageFromHtml(html, article.link);
}
next();
});
}
next();
}
function extractImageFromHtml(html, baseUrl) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var meta =
doc.querySelector('meta[property="og:image"]') ||
doc.querySelector('meta[name="twitter:image"]') ||
doc.querySelector('meta[property="twitter:image"]');
if (meta && meta.getAttribute("content")) {
var metaImg = normalizeUrl(meta.getAttribute("content"), baseUrl);
if (isImageLike(metaImg) && !isBadImage(metaImg)) return metaImg;
}
var imgs = doc.querySelectorAll("article img, .article-body img, .entry-content img, .article img, img");
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function addAnalyticsParams(url) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "latest_slider_10");
u.searchParams.set("area", "sidebar");
return u.href;
} catch (e) {
return url;
}
}
function requestText(url, timeoutMs, callback) {
var xhr = new XMLHttpRequest();
var done = false;
var timer = setTimeout(function () {
if (done) return;
done = true;
try { xhr.abort(); } catch (e) {}
callback("timeout", "");
}, timeoutMs);
xhr.onreadystatechange = function () {
if (xhr.readyState !== 4 || done) return;
done = true;
clearTimeout(timer);
if (xhr.status >= 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function getText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.replace(/^\s+|\s+$/g, "") : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").replace(/^\s+|\s+$/g, "");
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' + esc(article.title) + '
';
html += '';
html += '' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
})();
公開ページで確認してください' + '
おすすめ記事
');
-->
');
-->
人気漫画ランキング
おすすめ記事
画像読み込み中...
';
var pending = 0;
for (var i = 0; i = 200 && xhr.status = 0 ? "&" : "?";
xhr.open("GET", url + sep + "_=" + Date.now(), true);
xhr.send(null);
} catch (e) {
done = true;
clearTimeout(timer);
callback(e.message || e, "");
}
}
function parseRss(xmlText) {
var parser = new DOMParser();
var xml = parser.parseFromString(xmlText, "text/xml");
var items = xml.getElementsByTagName("item");
var articles = [];
for (var i = 0; i ]+(?:data-original|data-src|data-lazy-src|src)=["']([^"']+)["']/i);
if (imgTag && imgTag[1]) {
var fromTag = normalizeUrl(imgTag[1], baseUrl);
if (isImageLike(fromTag) && !isBadImage(fromTag)) return fromTag;
}
var urlMatch = text.match(/https?:\/\/[^"' ]+\.(jpg|jpeg|png|gif|webp)(\?[^"' ]*)?/i);
if (urlMatch && urlMatch[0]) {
var fromUrl = normalizeUrl(urlMatch[0], baseUrl);
if (isImageLike(fromUrl) && !isBadImage(fromUrl)) return fromUrl;
}
return "";
}
function renderSlider(root, articles, displayCount, interval) {
var pages = chunk(articles, displayCount);
var track = document.createElement("div");
track.className = "alfa-track";
for (var i = 0; i ← 前へ' +
'';
root.innerHTML = "";
root.appendChild(track);
root.appendChild(controls);
var index = 0;
var pageCount = pages.length;
var timerId = null;
var isMoving = false;
var prevBtn = root.querySelector(".alfa-prev");
var nextBtn = root.querySelector(".alfa-next");
if (prevBtn) {
prevBtn.onclick = function () {
stopAuto();
movePrev();
startAuto();
};
}
if (nextBtn) {
nextBtn.onclick = function () {
stopAuto();
moveNext();
startAuto();
};
}
function moveNext() {
if (isMoving) return;
isMoving = true;
index++;
track.style.transition = "transform 0.45s ease";
track.style.transform = "translateX(-" + (index * 100) + "%)";
if (index === pageCount) {
setTimeout(function () {
track.style.transition = "none";
track.style.transform = "translateX(0)";
index = 0;
setTimeout(function () {
track.style.transition = "transform 0.45s ease";
isMoving = false;
}, 50);
}, 480);
} else {
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function movePrev() {
if (isMoving) return;
isMoving = true;
if (index === 0) {
index = pageCount;
track.style.transition = "none";
track.style.transform = "translateX(-" + (index * 100) + "%)";
setTimeout(function () {
index--;
track.style.transition = "transform 0.45s ease";
track.style.transform = "translateX(-" + (index * 100) + "%)";
setTimeout(function () {
isMoving = false;
}, 480);
}, 30);
} else {
index--;
track.style.transition = "transform 0.45s ease";
track.style.transform = "translateX(-" + (index * 100) + "%)";
setTimeout(function () {
isMoving = false;
}, 480);
}
}
function startAuto() {
stopAuto();
timerId = setInterval(function () {
moveNext();
}, interval);
}
function stopAuto() {
if (timerId) {
clearInterval(timerId);
timerId = null;
}
}
startAuto();
}
function createPage(page, pageIndex, displayCount) {
var pageEl = document.createElement("div");
pageEl.className = "alfa-page";
for (var i = 0; i ' +
'' + esc(displayTitle) + '
' +
'';
pageEl.appendChild(card);
}
return pageEl;
}
function cleanRotatorTitle(title) {
var t = String(title || "");
var pickupPos = t.indexOf("【Pickup");
if (pickupPos !== -1) {
t = t.substring(0, pickupPos);
}
t = t.replace(/\s+$/g, "");
return t || "記事を読む";
}
function addAnalyticsParams(url, pos) {
try {
var u = new URL(url, location.href);
u.searchParams.set("from", "side_recommend_slider");
u.searchParams.set("area", "sidebar");
u.searchParams.set("type", "random_articles");
u.searchParams.set("pos", String(pos));
return u.href;
} catch (e) {
return url;
}
}
function getNodeText(parent, tagName) {
var el = parent.getElementsByTagName(tagName)[0];
return el && el.textContent ? el.textContent.trim() : "";
}
function normalizeUrl(url, baseUrl) {
if (!url) return "";
url = String(url).replace(/&/g, "&").trim();
if (url.indexOf("//") === 0) return location.protocol + url;
if (url.indexOf("http://") === 0) return url.replace("http://", "https://");
if (url.indexOf("https://") === 0) return url;
try {
return new URL(url, baseUrl || location.href).href;
} catch (e) {
return "";
}
}
function isImageLike(url) {
return /\.(jpg|jpeg|png|gif|webp)(\?|$)/i.test(String(url || ""));
}
function isBadImage(url) {
url = String(url || "").toLowerCase();
return (
url.indexOf("emoji") !== -1 ||
url.indexOf("favicon") !== -1 ||
url.indexOf("icon") !== -1 ||
url.indexOf("logo") !== -1 ||
url.indexOf("counter") !== -1 ||
url.indexOf("track") !== -1 ||
url.indexOf("spacer") !== -1 ||
url.indexOf("blank") !== -1 ||
url.indexOf("profile") !== -1
);
}
function decodeHtml(str) {
var txt = document.createElement("textarea");
txt.innerHTML = String(str || "");
return txt.value;
}
function shuffle(arr) {
var a = arr.slice();
for (var i = a.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var tmp = a[i];
a[i] = a[j];
a[j] = tmp;
}
return a;
}
function chunk(arr, size) {
var out = [];
for (var i = 0; i /g, ">")
.replace(/"/g, """);
}
function showError(root, msg) {
root.innerHTML =
'' +
esc(msg) +
'
公開ページで確認してください' + '
';
}
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", function () {
setTimeout(initAlfaSideSlider, 300);
});
} else {
setTimeout(initAlfaSideSlider, 300);
}
})();
公開ページで確認してください' + '
95