Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Починить рейтинг кп на ucoz

Тема в разделе "Вопросы- ответы", создана пользователем onealoner, 4 июл 2017.

04.07.17 в 07:41
20.01.19 в 22:34
35
5.318
0
  1. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    Перестал работать скрипты рейтинга кинопоиска для ucoz. Может кто знает как исправить?
    Ошибка:
    XMLHttpRequest cannot load https://rating.kinopoisk.ru/820599.xml. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'ссылка на сайт' is therefore not allowed access.
     
  2. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +318 / 12 / -0
    Если я не ошибаюсь — это значит, что сервер, к которому ты обращаешься (т.е.https://rating.kinopoisk.ru/820599.xml) не возвращает заголовки, которые разрешают кросс-доменные запросы. Это политика безопасности браузера.
     
  3. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    iCooLER раньше работало без проблем, недавно совсем перестало
     
  4. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +318 / 12 / -0
    Решения проблемы я не знаю, но есть два варианта:
    1. Найти способ делать кросс-доменный запрос (вроде в инете есть способы, но лично я не пробовал)
    2. Реализовать обновление рейтинга через PHP

    Но возможно тут дело в другом...
     
  5. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    iCooLER я столько не знаю)
     
  6. iCooLER

    Кодер

    Регистрация:
    13 сен 2016
    Сообщения:
    390
    Лучших ответов:
    6
    Рейтинги:
    +318 / 12 / -0
    Пока у меня нет решения...
     
  7. Roman.U

    PRO Users

    Регистрация:
    13 ноя 2015
    Сообщения:
    6.193
    Лучших ответов:
    5
    Рейтинги:
    +1.037 / 117 / -0
    А было бы сдорово рейтинг на юкоз с кинопоиска парсить).
     
  8. LisER07

    VIP Кинотрафик v2 Кодер

    Регистрация:
    4 окт 2015
    Сообщения:
    630
    Лучших ответов:
    2
    Рейтинги:
    +116 / 3 / -0
    3. Через xhr
     
  9. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    LisER07
    Код:
    <script type="text/javascript">
    var kp_id = "478491";
    </script>
    <script type="text/javascript">
     $.ajax({url:"https://rating.kinopoisk.ru/"+kp_id+".xml",dataType:"xml",success:function(data){$(data).find("rating").each(function(){var kp_rating=$(this).find('kp_rating').html();var kp_num_vote=$(this).find('kp_rating').attr('num_vote');var imdb_rating=$(this).find('imdb_rating').html();var imdb_num_vote=$(this).find('imdb_rating').attr('num_vote');$("#kp_rating").html(kp_rating);$("#kp_num_vote").html(kp_num_vote);$("#imdb_rating").html(imdb_rating);$("#imdb_num_vote").html(imdb_num_vote)})}});
    </script> 
    Что исправить??
     
  10. Warasa

    Warasa Зелёный

    Регистрация:
    27 май 2016
    Сообщения:
    4
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    В шаблоне KinoFan рейтинг работает, можешь оттуда взять скрипт
     
    • Нравится Нравится x 1
  11. Warasa

    Warasa Зелёный

    Регистрация:
    27 май 2016
    Сообщения:
    4
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    Страница материала и комментариев к нему. Там, где хотите видеть рейтинг:
    Код:
    <strong>КиноПоиск:</strong> <span id="kp-page-rating">Загрузка...</span>
    <strong>IMDb:</strong> <span id="imdb-page-rating">Загрузка...</span>
    
    Скрипт
    Код:
    <script> var KP_SITE_ID = $OTHER4$; var processArrayWithTags = function(regExes, strArray) { for (var i = 0; i < strArray.length; i++) { for (var j = 0; j < regExes.length; j++) { if (strArray[i].match(regExes[j].reg)) { regExes[j].storage.push(strArray[i].replace(regExes[j].reg, '')); } } } }; var regEx = [{ reg: /(К|к)ачество - /g, storage: new Array(0) }, { reg: /(С|c)трана - /g, storage: new Array(0) }, { reg: /(Г|г)од - /g, storage: new Array(0) }, { reg: /(П|п)оиск - /g, storage: new Array(0) }]; var tagsParseString = $('#pTagsHidden').length > 0 ? $('#pTagsHidden').html().replace(/(<\/?noindex>)|( rel="nofollow")|( class="eTag")/g, '') : false; var tagsFIlmArray = new Array(0); var $filmPageQuality = $('#film-page-quality'); var $filmPageCountry = $('#film-page-country'); var $filmPageYear = $('#film-page-year'); var $filmPageActors = $('#actors-page'); tagsFIlmArray = tagsParseString ? tagsParseString.split(', ') : false; if (tagsFIlmArray) { processArrayWithTags(regEx, tagsFIlmArray) }; if (regEx[0].storage.length > 0) { $filmPageQuality.html(regEx[0].storage.join(', ')) }; if (regEx[1].storage.length > 0) { $filmPageCountry.html(regEx[1].storage.join(', ')) }; if (regEx[2].storage.length > 0) { $filmPageYear.html(regEx[2].storage.join(', ')) }; if (regEx[3].storage.length > 0) { $filmPageActors.html(regEx[3].storage.join(', ')) }; var getFilmRatingDataPAGE = function getFilmRatingDataPAGE(element, idt, callback) { var id = element ? element.data('filmid') : idt; var alternative = function alternative() { var error = arguments.length <= 0 || arguments[0] === undefined ? 'error' : arguments[0]; console.error(error); $.ajax({ type: 'GET', url: 'https://rating.kinopoisk.ru/' + id + '.xml', success: function success(data) { callback(element, data); } }); }; $.ajax({ url: 'http://query.yahooapis.com/v1/public/yql', jsonp: "callback", dataType: "jsonp", data: { q: 'select * from xml where url="https://rating.kinopoisk.ru/' + id + '.xml"', format: 'xml' }, success: function success(data) { if (data.results[0]) { callback(element, data.results[0]); } else { alternative(); } }, error: alternative }); }; var renderFilmPageRatingDataPAGE = function(element, data) { $('#kp-page-rating').text($(data).find('kp_rating').text()).prop('title', 'Голосов: ' + $(data).find('kp_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); $('#imdb-page-rating').text($(data).find('imdb_rating').text()).prop('title', 'Голосов: ' + $(data).find('imdb_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); }; if (KP_SITE_ID) { getFilmRatingDataPAGE(false, KP_SITE_ID, renderFilmPageRatingDataPAGE); } </script>
     
    • Нравится Нравится x 1
  12. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    спасибо
     
  13. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    Warasa у тебя много лишнего в скрипте. Только рейтинг вроде это тянет
    Код:
    $.ajax({ type: 'GET', url: 'https://rating.kinopoisk.ru/' + id + '.xml', success: function success(data) { callback(element, data); } }); }; $.ajax({ url: 'http://query.yahooapis.com/v1/public/yql', jsonp: "callback", dataType: "jsonp", data: { q: 'select * from xml where url="https://rating.kinopoisk.ru/' + id + '.xml"', format: 'xml' }, success: function success(data) { if (data.results[0]) { callback(element, data.results[0]); } else { alternative(); } }, error: alternative }); }; var renderFilmPageRatingDataPAGE = function(element, data) { $('#kp-page-rating').text($(data).find('kp_rating').text()).prop('title', 'Голосов: ' + $(data).find('kp_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); $('#imdb-page-rating').text($(data).find('imdb_rating').text()).prop('title', 'Голосов: ' + $(data).find('imdb_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); }; if (KP_SITE_ID) { getFilmRatingDataPAGE(false, KP_SITE_ID, renderFilmPageRatingDataPAGE); }
     
  14. Warasa

    Warasa Зелёный

    Регистрация:
    27 май 2016
    Сообщения:
    4
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    onealoner да но после удаления этого лишнего он перестает работать)
     
  15. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    Кому не трудно подскажите, что не так....Не получается что-то(
    Код:
    <script type="text/javascript">
    var kp_id = "$AUTHOR_EMAIL$";
    </script>
    <script type="text/javascript">
    $.ajax({ type: 'GET', url: 'https://rating.kinopoisk.ru/' + kp_id + '.xml', success: function success(data) { callback(element, data); } }); }; $.ajax({ url: 'http://query.yahooapis.com/v1/public/yql', jsonp: "callback", dataType: "jsonp", data: { q: 'select * from xml where url="https://rating.kinopoisk.ru/' + kp_id + '.xml"', format: 'xml' }, success: function success(data) { if (data.results[0]) { callback(element, data.results[0]); } else { alternative(); } }, error: alternative }); }; var renderFilmPageRatingDataPAGE = function(element, data) { $('#kp_rating').text($(data).find('kp_rating').text()).prop('title', 'Голосов: ' + $(data).find('kp_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); $('#imdb_rating').text($(data).find('imdb_rating').text()).prop('title', 'Голосов: ' + $(data).find('imdb_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); }; if (kp_id) { getFilmRatingDataPAGE(false, kp_id, renderFilmPageRatingDataPAGE); }});
    </script> 
    Рейтинг должен быть тут:

    Код:
    <b style="color: #F77A00;font-weight: bold;">КП</b>:
    <b style=" font-weight: bold;"><span id="kp_rating">0</span></b>&nbsp;&nbsp;
    <b style="color: #D1B800;font-weight: bold;">IMDB</b>:
    <b style=" font-weight: bold;"><span id="imdb_rating">0</span></b>
     
  16. Warasa

    Warasa Зелёный

    Регистрация:
    27 май 2016
    Сообщения:
    4
    Лучших ответов:
    0
    Рейтинги:
    +2 / 0 / -0
    onealoner
    Заменить kp_rating на kp-page-rating

    Код:
    <b style="color: #F77A00;font-weight: bold;">КП</b>:
    <b style=" font-weight: bold;"><span id="kp-page-rating">0</span></b>&nbsp;&nbsp;
    <b style="color: #D1B800;font-weight: bold;">IMDB</b>:
    <b style=" font-weight: bold;"><span id="imdb-page-rating">0</span></b>
    Страница материала и комментариев к нему, перед </body>
    Код:
    <script> var KP_SITE_ID = $AUTHOR_EMAIL$; var processArrayWithTags = function(regExes, strArray) { for (var i = 0; i < strArray.length; i++) { for (var j = 0; j < regExes.length; j++) { if (strArray[i].match(regExes[j].reg)) { regExes[j].storage.push(strArray[i].replace(regExes[j].reg, '')); } } } }; var regEx = [{ reg: /(К|к)ачество - /g, storage: new Array(0) }, { reg: /(С|c)трана - /g, storage: new Array(0) }, { reg: /(Г|г)од - /g, storage: new Array(0) }, { reg: /(П|п)оиск - /g, storage: new Array(0) }]; var tagsParseString = $('#pTagsHidden').length > 0 ? $('#pTagsHidden').html().replace(/(<\/?noindex>)|( rel="nofollow")|( class="eTag")/g, '') : false; var tagsFIlmArray = new Array(0); var $filmPageQuality = $('#film-page-quality'); var $filmPageCountry = $('#film-page-country'); var $filmPageYear = $('#film-page-year'); var $filmPageActors = $('#actors-page'); tagsFIlmArray = tagsParseString ? tagsParseString.split(', ') : false; if (tagsFIlmArray) { processArrayWithTags(regEx, tagsFIlmArray) }; if (regEx[0].storage.length > 0) { $filmPageQuality.html(regEx[0].storage.join(', ')) }; if (regEx[1].storage.length > 0) { $filmPageCountry.html(regEx[1].storage.join(', ')) }; if (regEx[2].storage.length > 0) { $filmPageYear.html(regEx[2].storage.join(', ')) }; if (regEx[3].storage.length > 0) { $filmPageActors.html(regEx[3].storage.join(', ')) }; var getFilmRatingDataPAGE = function getFilmRatingDataPAGE(element, idt, callback) { var id = element ? element.data('filmid') : idt; var alternative = function alternative() { var error = arguments.length <= 0 || arguments[0] === undefined ? 'error' : arguments[0]; console.error(error); $.ajax({ type: 'GET', url: 'https://rating.kinopoisk.ru/' + id + '.xml', success: function success(data) { callback(element, data); } }); }; $.ajax({ url: 'http://query.yahooapis.com/v1/public/yql', jsonp: "callback", dataType: "jsonp", data: { q: 'select * from xml where url="https://rating.kinopoisk.ru/' + id + '.xml"', format: 'xml' }, success: function success(data) { if (data.results[0]) { callback(element, data.results[0]); } else { alternative(); } }, error: alternative }); }; var renderFilmPageRatingDataPAGE = function(element, data) { $('#kp-page-rating').text($(data).find('kp_rating').text()).prop('title', 'Голосов: ' + $(data).find('kp_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); $('#imdb-page-rating').text($(data).find('imdb_rating').text()).prop('title', 'Голосов: ' + $(data).find('imdb_rating').attr('num_vote').replace(/(\d)(?=(\d{3})+$)/g, '$1 ')); }; if (KP_SITE_ID) { getFilmRatingDataPAGE(false, KP_SITE_ID, renderFilmPageRatingDataPAGE); } </script>
    
    У меня так работает
     
  17. Thor

    Thor Бывалый

    Регистрация:
    15 фев 2016
    Сообщения:
    502
    Лучших ответов:
    1
    Рейтинги:
    +178 / 1 / -0
    onealoner, У тебя доп. поле с ID Кинопоиск есть я как понимаю?
     
  18. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
    Warasa спасибо, работает. Просто хотелось без лишнего кода, чисто рейтинг тянуть)
     
  19. Thor

    Thor Бывалый

    Регистрация:
    15 фев 2016
    Сообщения:
    502
    Лучших ответов:
    1
    Рейтинги:
    +178 / 1 / -0
    Загрузи добавленный мной скрипт, подключи на главной. Затем удали свой код и вместо него добавь:

    Код:
    <div class="kinopoisk" data-movie="$AUTHOR_EMAIL$"></div>
     
    • Нравится Нравится x 2
  20. TopicStarter Overlay
    onealoner

    onealoner Бывалый

    Регистрация:
    29 дек 2015
    Сообщения:
    479
    Лучших ответов:
    0
    Рейтинги:
    +141 / 0 / -0
Яндекс.Метрика