Jump to content
Korean Random

Скрипт для браузера - статистика игроков на форумах WoT, WoWS и wotreplays


seriych

Recommended Posts

Кто-нибудь знает, как убрать растягивание постов по вертикали?

7889444.jpg
Что бы выбор сайта в таких случаях находился напротив подписи.

Может даже не напротив, а ещё компактнее, вроде эстетически не сильно теряется

7886372.jpg
Edited by HellQwer
Link to comment
Short link
Share on other sites

Без вн8 и сайтиков? Фи!

С сайтиками же ж, только без километровой секции отдельно под них. А без вн8 пока да, надо бы прикрутить уже выбор рейтингов, вроде на вотреплейс всё работает, не жалуется народ.

 

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

post-8781-0-71583100-1447675073_thumb.png

Link to comment
Short link
Share on other sites

* только не работает всплывающее окошко при наведении на ник. Не знаю почему и как с этим бороться, но оно вроде особо и не нужное.

 

Такое чинится так, почему такое происходит - моё объяснение на подобный вопрос здесь.

Если есть вопросы по реализации чего-нибудь - спрашивайте, я на подобных скриптах стадо собак съел.

 

Если ещё и для вотреплейс хотите делать (а потом и внезапно для ещё чего-нибудь захотите) - то проще будет сделать отдельное расширение вместо userscript'ов. Минус - то, что под каждый браузер надо писать свой код, но ситуацию существенно выправляют фреймворки для постройки кроссбраузерных расширений, например, Neobar (платный)  или kango (в бесплатной версии нельзя строить IE-расширения и ещё какие-то ограничения на лицензирование продукта, которые вас не затронут если проект opensource). Кстати, kango разрабатывают ребята из России (Новосибирск).

 

Базу расширения я могу написать, а дальше уже можно будет в папке создавать отдельные user.js скрипты, которые будут подцепляться когда надо. Как итог не будет всяких зависимостей от специфичных GM_* функций, userscript-файл разбивается на модули, можно будет подключать клёвые библиотеки вроде Q, etc...

Edited by norkas
  • Upvote 1
Link to comment
Short link
Share on other sites

чинится так

фигасе, оказывается о скрипте знает больше трех человек :-) спс.

ктстаи, что там с первой строчкой? BOM убрал?

 

Если ещё и для вотреплейс хотите делать

Да вроде делаю. Я ж начинал делать для форума только innerHTML загуглил, этого хватило, и давай всё шпарить через него. Аж допустим надо какой-нибудь title узнать - ищем элемент родитель и парсим его innerHTML :-) Короче там всё переписывать надо. А с вотреплейс так уже не прокатило. Пришлось больше гуглить и узнавать про DOM, css, eventlistener (тут я понял, почему всплывающие окна и т.п. отрубается).

 

проще будет сделать отдельное расширение вместо userscript'ов. Минус - то, что под каждый браузер надо писать свой код

А еще, что расширения по полгода одобряют, а еще что с каждым обновлениям браузера они отрубаться могут, а еще что юзер код не видит...

В общем, я пока за подход с выкладыванием чистого юзерскрипта.

 

Если есть вопросы по реализации чего-нибудь - спрашивайте, я на подобных скриптах стадо собак съел.

Это ты зря, я ж сейчас полотно под спойлер накидаю такое, что до вечера читать будешь:-)
Edited by seriych
Link to comment
Short link
Share on other sites

ктстаи, что там с первой строчкой? BOM убрал?

Я редактировал онлайн в браузере, не знаю как интерпретирует такое редактирование битбукет. А может и я где накосячил, т.к. битбукетом не пользовался никогда. У меня на гитхабе всё.

 

 

 

А еще, что расширения по полгода одобряют, а еще что с каждым обновлениям браузера они отрубаться могут, а еще что юзер код не видит... В общем, я пока за подход с выкладыванием чистого юзерскрипта.

 

В WebStore выкладывание без премодерации, обновления юзерам прилетают очень быстро.

А чтобы установить расширение в Firefox, то не обязательно выкладывать приложение в их магазин, xpi-архив можно выложить на своём сервере. С обновлением они могут отрубаться - да, но только если в манифесте такое прописать.

 

Впрочем, модульность можно "имитировать" используя какой-нибудь сборщик вроде grunt. В репозитории будет много различных модулей, а на выходе один файл.

 

 

 

Это ты зря, я ж сейчас полотно под спойлер накидаю такое, что до вечера читать будешь:-)

Это ничего, хорошо что я проснулся вечером, а не утром =)

Edited by norkas
Link to comment
Short link
Share on other sites

В альтернативном стато-скрипте все окошки всплывают...

ну его-то нормальный человек делает)

 

кстати, сейчас исправление приму, только протестирую

Обновил. На корабликах тоже вернул всплывающее окно. Еще на корабликах добавил переход на стату игрока на сайте vzhabin.ru.

И это сделал:

 

 

Кто-нибудь знает, как убрать растягивание постов по вертикали?

 

 

Можно этот плюсомет подвинуть вверх и компактно станет:
Edited by seriych
Link to comment
Short link
Share on other sites

Если есть вопросы по реализации чего-нибудь - спрашивайте, я на подобных скриптах стадо собак съел.

Ну сам напросился...

Вот в opera12 работает такая жесть:

// возвращаем рейтинг по шкале XVM, используя название рейтинга в переменной rating
function CalcXr(rate) {
    if ( ~rating.indexOf('X') )
        return rate;
    else return window['CalcX'+rating.toLowerCase()](rate);
}

Но в остальных браузерах не работает и приходится делать тупо так:

// возвращаем рейтинг по шкале XVM, используя название рейтинга в переменной rating
function CalcXr(rate) {
    if (rating == 'WGR') return CalcXwgr(rate);
    else if (rating == 'WN6') return CalcXwn6(rate);
    else if (rating == 'WN7') return CalcXwn7(rate);
    else if (rating == 'WN8') return CalcXwn8(rate);
    else if (rating == 'EFF') return CalcXeff(rate);
    else return rate;
}

Можно первый способ заставить работать в других браузерах?

 

* Вообще странное наблюдение. Вот везде вседа писали типа "под оперу на presto отдельно надо сайт тестить, оно как-то не так работает и и т.п.", а я вот всегда когда гуглю как что-то там сделать на JS (без указания браузера), нахожу, делаю, оно в опере работает, а вот как раз у остальных постоянно те или иные косяки вылезают. Вот с этим вызовом функции по сгенерированному на лету названию то же самое.

Link to comment
Short link
Share on other sites

Если бы ты создал ветку `current-develop` в которой был этот код, я бы стянул и точно сказал в чём проблема. Но я понял что ты хочешь сделать, и правильно сделать надо немного по-другому.

 

Года три назад в разных браузерах\расширениях window указывало на различные объекты. Одни браузеры указывали на объект в песочнице расширения, другие - прямой доступ к window на странице сайта, а был даже случай что к window обратиться было невозможно, и браузер возвращал переменную window.window, которая естественно была null). С тех пор хорошим тоном является оборачивание всего кода userscript'а в замыкание.

 

 

(function(undef) {

        // userscript code here...

})();

 

Делается это для того, чтобы не засорять window сайта или, например, случайно не переопределить какую-нибудь функцию или переменную.

 

 

 

Можно первый способ заставить работать в других браузерах?

Скорее всего, можно обойтись созданием объекта (который будет выполнять роль window в твоём случае) с нужными функциями:

var Calculator = {
    CalcXwn6: function(rate) {
        return boo6(rate);
    },
    CalcXwn8: function(rate) {
        return boo8(rate);
    }
};

/***
 * или если уже определены функции, то указать прямо их:
 *
 * var Calculator = {
 *     CalcXwn6: CalcXwn6,
 *     CalcXwn8: CalcXwn8
 * };
 *
 **/

function CalcXr(rate) {
    if ( ~rating.indexOf('X') )
        return rate;
    else return Calculator['CalcX'+rating.toLowerCase()](rate);
}
Edited by norkas
Link to comment
Short link
Share on other sites

Если бы ты создал ветку `current-develop` в которой был этот код, я бы стянул и точно сказал в чём проблема.

Это в другом скрипте:

https://bitbucket.org/seriych/wotreplaysextendedstat/src

или если уже определены функции, то указать прямо их:

получается тоже самое, что и с if-ами, просто они "спрятаны" в объекте.

Вот добавлю я какой-то новый рейтинг в скрипт и функцию для его перевода в шкалу XVM. В текущем методе или в методе с объектом мне надо будет совершать дополнительные телодвижения и лополнительно прописывать эту функцию где-то еще. Если же сделать как я хочу, то мне не надо будет ничего больше делать кроме написания самой функции.

 

Хотя если изначально все функции перенести в объект, то да, получается тоже как я хочу, только все прямые вызовы функции надо будет переделать, чтобы из объекта вызывались. В принципе меня это устроит, так даже логичнее. Спасибо, попробую.

Link to comment
Short link
Share on other sites

Пора отписываться от темы.

а кто ж новые идеи подкидывать будет?

 

 

Кстати, нужна идея, как отображать огонь по союзникам на первой вкладке реплея, а то по дефолту ничем не отличается от врага. Только если убиваешь своего пометка фрага другая рисуется. А хочется при любом повреждении чтобы было видно что это союзник.

Edited by seriych
Link to comment
Short link
Share on other sites

Другая иконка, например стандартная в голубых тонах :)

Это у нас принять связывать с тем, что данный игрок (который голубой) повредил союзника.

Я же хочу как-то отобразить что это мы попали по данному союзнику.

Link to comment
Short link
Share on other sites

Это у нас принять связывать с тем, что данный игрок (который голубой) повредил союзника.

Я же хочу как-то отобразить что это мы попали по данному союзнику.

Ну тогда иконку союзника голубым, чё он голубой такой под ствол лез/провоцировал)))

А под черту чем не устраивает? В клиенте так было. Удобно.

 

UPD Что значат кружочки?

Edited by HellQwer
Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...