Получить setBadgeText с другого URL - PullRequest
1 голос
/ 24 января 2020

Есть сайт, у которого есть метрики (короткие номера) для многих доменов. Должен быть создан специальный URL-адрес, такой как https://metricsite.com?domain=example.com, и тогда этот URL-адрес имеет div с метрикой c. Это [этот сайт] [1].

Я хочу показать этот показатель c как setBadgeText на каждом URL. Мне нужно что-то вроде:

$.fetchURL('https://my-metric-site.com/?domain='+window.location.host+'&source=de', XPath(//div[@class='metric']) {
    var metric = data.metric;
    chrome.browserAction.setBadgeText({text:metric});
});

Каков путь к go для достижения этого?

Обновление 1 Желаемый результат в значке должен быть:

//div[@class="data"]/span[@class="value"]/text()

или

//div[@class="data-mini"]/span/span[@class="value"]/text()

Видимые результаты в Badge - это число, как на скриншоте:

enter image description here

Обновление 2

Чтобы получить номер непосредственно из исходного кода, следует использовать [этот URL] [3 ].

[1]: [3]:

1 Ответ

0 голосов
/ 24 января 2020

Это не совсем полный ответ, но это слишком длинный комментарий, и он может помочь вам начать:

Вы не можете просто использовать $.fetchURL с вашим URL; сайту требуются определенные заголовки (параметры, файлы cookie и т. д. c.), иначе ответ будет неправильным. Итак, сначала вам нужно преобразовать эти get заголовки в $.fetchURL.

. После этого это выражение xpath

//div[@class="data"]/span[@class="value"]/text()

должно получить значение

* 1013. * 401,95

и этот:

//div[@class="data-mini"]/span/span/text()

должен оценить

436,3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...