Как закрыть всплывающее изображение в расширении кроссрайдера?

Я создаю расширение с помощью CrossRider Я использую этот простой код, который показывает изображение в браузере

$('<img style="position:fixed; z-index:999;margin-top:40%" />')
    .attr('src',('https://lh4.ggpht.com/9qGc5-maR10Fh1IpRlCuGSmge9Zzm8VQdPMNqjJkhZjtCvAQYX55MRoo4AYnYUdZhj7i=w300'))
    .prependTo('body');

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

1 ответ

Решение

Вы можете использовать стандартный jQuery для обработки событий щелчка и приложение Crossrider appAPI.openURL, чтобы открыть новое окно.

Так, например, используя следующее на основе вашего кода в файле extension.js, вы создадите необходимые вам элементы и предоставите нужные вам функции. Я оставлю дизайн CSS на ваше усмотрение:

// Add div to contain the image and X button to the body element
$('<div id="my-wrapper" style="position:fixed; z-index:999;margin-top:40%"><img /><span>X</span></div>')
  .prependTo('body');
// Configure the img src and add a click event handler that opens a new window
$('#my-wrapper img')
  .attr('src',('https://lh4.ggpht.com/9qGc5-maR10Fh1IpRlCuGSmge9Zzm8VQdPMNqjJkhZjtCvAQYX55MRoo4AYnYUdZhj7i=w300'))
  .click(function() {
    appAPI.openURL({
      url: 'http://example.com',
      where: 'window'
    });
  });
  // Add an event handler to the X button that closes/hides the image
  $('#my-wrapper span')
    .click(function() {
      $('#my-wrapper').hide();
    });

[Раскрытие информации: я сотрудник Crossrider]

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