Узнать количество постов в сообществе на ВК используя расширение для Chrome?
Здравствуйте, есть кое какие наброски с костылями для расширения хром, которое работает на основе подсчёта количества постов в сообществе на ВК, хочется узнать как нужно всё сделать по правильному в *.js файле расширения.
Ещё заметил одну неприятную вещь, если расширение работает, то юзер постоянно онлайн, даже когда он не на сайте, то есть подскажите как можно это сделать ещё так, чтобы если пользователь не пользуется ВК(то есть не разлогинился, а просто закрыл вкладку), ВК не держал статус "В сети" для юзера.
Если ты делаешь расширение советую использовать VK API, потому что если ты будешь использовать подброс скрипта на страницу, то сайт будет просто на просто белеть, то есть просто вместо сайта будет белый экран. Я не знаю с чем это связано, возможно с adblock, а может еще с чем. Еще один плюс VK API это то, что при его использовании пользователь не в онлайне)
Наброски разумеется увидеть нельзя?
Стыдно показать, собирал из 3 примеров, работает кое как.
Сейчас получаю колличество вот так: https://api.vk.com/method/wall.get.xml?owner_id=-1...
А потом:
var num_posts = tmp.substr(58, 4); - зная что начиная с 58 позиции идёт количество постов, и это число из 4 цифр в случае моего паблика.
svetlov97: тоже так делал, ругает в консоли вот так:
"Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem: chrome-extension-resource:". Either the 'unsafe-inline' keyword, a hash ('sha256-bm...'), or a nonce ('nonce-...') is required to enable inline execution.
HWman: Так ошибка то в JQuery а не в скрипте.
откройте консоль F12, вставьте туда код:
var own_id = '1'; //ID сообщества
var xhr = new XMLHttpRequest();
xhr.open('GET', 'https://api.vk.com/method/wall.get?owner_id=-'+own_id+'&count=1&v=5.64', true);
xhr.onload = function() {
console.log( JSON.parse(this.responseText).response.count );
}
xhr.onerror = function() {
console.log( 'Ошибка ' + this.status );
}
xhr.send();
и нажмите Enter, выдаст ответ с количеством постов, код работает. Не используйте JQuery при разработке расширений Chrome, в chrome расширениях сама библиотека JQuery работает некорректно.
Fetch API cannot load https://api.vk.com/method/wall.get?owner_id=-1&count=1&v=5.64. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://www.google.com.ua' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
The FetchEvent for "https://api.vk.com/method/wall.get?owner_id=-1&count=1&v=5.64" resulted in a network error response: the promise was rejected.
newtab-serviceworker.js:1 Uncaught (in promise) TypeError: Failed to fetch
VM912:11 GET https://api.vk.com/method/wall.get?owner_id=-1&count=1&v=5.64 net::ERR_FAILED
(anonymous) @ VM912:11
VM912:9 Ошибка 0