Как сделать окно предварительного просмотра, используя LinkPreview API?

Как и в приведенном ниже предварительном просмотре ссылки на изображение, это изображение того, что я ожидаю, точно так же, как только пользователь вставит ссылку в текстовое поле.

С сайта предварительного просмотра ссылки я получаю image,url,description сайта в окне консоли, но я хочу отобразить внутри <div> тег.

ссылка для предварительного просмотра изображения сайта

HTML:

<div class="show_lnk"></div>

 <textarea class="form-control" placeholder=""  id="url" name="user_status"></textarea>     

JQuery:

jQuery("textarea[name*='user_status']").blur(function () {
    var target = jQuery(this).val();
    $.ajax({
        url: "https://api.linkpreview.net",
        dataType: 'jsonp',
        data: {q: target, key: '5a2e292e7d25bb63a2d3b4c63524cd10abe39420dc68c'},
        success: function (response) {
            var data=response;
            $(".show_lnk").html('<img src="'+data.image+'" style="width:30px;height:30px;" ');
            console.log(data.image);
        }
    });
});

1 ответ

Решение

Я не совсем уверен, где вы застряли, но это будет отображать данные ответа в некоторых простых тегах внутри выделенного <div>, Как вы манипулируете CSS, полностью зависит от вас.

Я предварительно загружен google.com в текстовое поле, поэтому единственное, что вам нужно сделать, это вызвать функцию, вызвав blur событие (вкладка или что-то еще).

$(document).ready(function() {
  $("textarea[name*='user_status']").blur(function () {
    var target = $(this).val();
    $.ajax({
      url: "https://api.linkpreview.net",
      dataType: 'jsonp',
      data: {q: target, key: '5a2e292e7d25bb63a2d3b4c63524cd10abe39420dc68c'},
      success: function (response) {
        $("#show_lnk").html('<img src="'+response.image+'"><h3>'+response.title+'</h3><h4>'+response.description+'</h4><a href="'+response.url+'">'+response.url+'</a>');
      }
    });
  });
});
body {
    padding: 25px;
}

#show_lnk img {
  width:30px;
  height:30px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea class="form-control" placeholder="" id="url" name="user_status">google.com</textarea>     
<div id="show_lnk"></div>

Другие вопросы по тегам