John Doe
John Doe

Reputation: 876

CrossRider API, get opened tabs title

I am using the CrossRider api to get the opened tabs, using there API I can get the title of the links in my bookmarks, however with there api I cannot use how to get the title of the urls in my opened tabs, I can just get the URL.

Does anyone know if this is achievable, if not then if there is some other way. Current I have to call a php script to make calls to the URLs and extract the title, this is getting too slow with a lot of tabs open

Upvotes: 0

Views: 194

Answers (1)

Shlomo
Shlomo

Reputation: 3753

It would be great if you included a code snippet to show how your code works. However, in the absence of a snippet, I'm guessing that you are working in the background scope using an API method such as appAPI.tabs.getAllTabs. As you correctly surmised, the method does no not provide the title of the URL.

There are several way to work around this, on of which you mentioned, however, I prefer getting the information from the tab itself through messaging. For example, assuming you still need the information in the background scope:

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'});
});

extension.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
        }
      });
    }
  });
});

[Disclosure: I am a Crossrider employee]

Upvotes: 2

Related Questions