三つの実現方法
・他のページの情報を取得する方法は三つほどある。
①javascriptでページリクエストを行い、その中の要素を取得する。
②見えないiframeでページを表示してその要素を取得する。
③feed,rss,atom等を使ってxmlで取得する。
①javascriptでページリクエストする方法
$.ajax({
url: 'https://~',
type: 'GET',
dataType: 'html',
})
.done(function(val) {
var add_toukou_element='<h2>見出し</h2>';
$(val).find(".item").each(function(){
if($(this).find(".item-img").html().indexOf("src=") > 0){
add_toukou_element += "<div>" + $(this).find(".item-img").html() + $(this).find(".item-title").html().replaceAll("<br>","") + "</div>" ;
}
});
add_toukou_element += "</div>";
$("body").append(add_toukou_element);
})
.fail(function( data ) {
console.log("rq_error");
});
②見えないiframeでページ表示する方法
function show_toukou(){
get_element_inside_iframe().then(
function(val){
var add_toukou_element='<h2>見出し</h2>';
$("#link_toukou").contents().find(".item").each(function(){
if($(this).find(".item-img").html().indexOf("src=") > 0){
add_toukou_element += "<div>" + $(this).find(".item-img").html() + $(this).find(".item-title").html().replaceAll("<br>","") + "</div>" ;
}
});
add_toukou_element += "</div>";
$("body").append(add_toukou_element);
}).catch(function(e){
console.log('error=' + e)
});
async function get_element_inside_iframe() {
return new Promise(function(resolve, reject) {
myiFrame = document.getElementById('link_toukou');
if (myiFrame == null) {
myiFrame = document.createElement('iframe');
myiFrame.setAttribute('id', 'link_toukou');
myiFrame.setAttribute('seamless', '');
myiFrame.setAttribute('src', 'https://~');
myiFrame.style['display']='none';
document.body.appendChild(myiFrame);
myiFrame.addEventListener("load", function(){
return resolve();
});
}
else {
return resolve();
}
});
}
}
show_toukou();