CrossRider API, получить заголовок открытых вкладок

Я использую API CrossRider для получения открытых вкладок, с помощью этого API я могу получить название ссылок в своих закладках, однако с этим API я не могу использовать, как получить название URL-адресов в моих открытых вкладках, я могу просто получить URL-адрес.

Кто-нибудь знает, достижимо ли это, если нет, то есть ли какой-то другой способ. В настоящее время мне нужно вызвать php-скрипт, чтобы совершать вызовы URL-адресов и извлекать заголовок, это становится слишком медленным с большим количеством открытых вкладок.


person John Doe    schedule 19.11.2014    source источник


Ответы (1)


Было бы здорово, если бы вы включили фрагмент кода, чтобы показать, как работает ваш код. Однако из-за отсутствия фрагмента я предполагаю, что вы работаете в фоновом режиме, используя метод API, такой как appAPI.tabs.getAllTabs. Как вы правильно догадались, метод не предоставляет заголовок URL.

Есть несколько способов обойти это, о которых вы упомянули, однако я предпочитаю получать информацию с самой вкладки через обмен сообщениями. Например, если вам все еще нужна информация в фоновой области:

background.js:

appAPI.ready(function($) {
  appAPI.message.listener(function(msg) {
    if (msg.action==='tab-info') {
      doSomething(msg.data);
    }
  });
  appAPI.message.toAllTabs({action:'get-tab-info'});
});

расширение.js:

appAPI.ready(function($) {
  appAPI.message.listener(function(msg) {
    if (msg.action==='get-tab-info') {
      appAPI.message.toBackground({
        action:'tab-info',
        data: {
          tabId: appAPI.getTabId(),
          url: appAPI.dom.location.href,
          title: document.title
        }
      });
    }
  });
});

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

person Shlomo    schedule 20.11.2014
comment
пытался сделать это, а также вернуть первую вкладку, а также заголовок еще не, URL-адрес и идентификатор вкладки есть! - person John Doe; 26.11.2014
comment
ок исправили эту ошибку, но проблема в том, что скрипт extension.js не работает с сайтами с https, можете подсказать что делать? - person John Doe; 26.11.2014
comment
extension.js работает на https-сайтах. Есть ли конкретный сайт, с которым у вас возникли проблемы? Иногда загрузка страниц может занять много времени и, следовательно, задержать событие готовности. - person Shlomo; 26.11.2014
comment
Я тестировал на facebook.com, google.com и примерно на 5 других сайтах! это работает для сайтов без https, не могли бы вы посоветовать, если у вас есть какие-либо рекомендации - person John Doe; 26.11.2014
comment
Я определенно протестировал HTTPS на этом сайте с Chrome, и он работает. Как вы определяете, что файл extension.js не работает? Вы можете легко проверить это, добавив сообщения console.log перед appAPI.ready после и проверив, появляются ли они в консоли. Я также с удовольствием посмотрю, если вы предоставите идентификатор расширения. - person Shlomo; 26.11.2014
comment
большое спасибо! мой идентификатор приложения: 66480, он все еще находится в тестовом режиме! - person John Doe; 26.11.2014
comment
Я протестировал расширение с помощью Chrome на вышеупомянутых HTTPS-страницах и получил предупреждение, как и ожидалось: google.com , facebook.com. Есть ли у вас какие-либо другие расширения или программное обеспечение, которые могут блокировать расширение? - person Shlomo; 27.11.2014