• Как организовать ленивую загрузку внешних скриптов в Angular 2+ (CLI)?

    NightBuster
    @NightBuster Автор вопроса
    Решил так:

    Написал сервис-загрузчик для скриптов:

    import { Injectable } from '@angular/core';
    import { Observable } from 'rxjs/Observable';
    import { Observer } from 'rxjs/Observer';
    
    @Injectable()
    export class ScriptLoaderService {
    
      private scripts: ScriptModel [] = [];
    
      public load(script: ScriptModel): Observable<ScriptModel> {
        return new Observable<ScriptModel>((observer: Observer<ScriptModel>) => {
          const existingScript = this.scripts.find(s => s.name === script.name);
    
          // Complete if already loaded
          if (existingScript && existingScript.loaded) {
            observer.next(existingScript);
            observer.complete();
          } else {
            // Add the script
            this.scripts = [...this.scripts, script];
    
            // Load the script
            const scriptElement = document.createElement('script');
            scriptElement.type = 'text/javascript';
            scriptElement.src = script.src;
    
            scriptElement.onload = () => {
              script.loaded = true;
              observer.next(script);
              observer.complete();
            };
    
            scriptElement.onerror = (error: any) => {
              observer.error('Couldn\'t load script ' + script.src);
            };
    
            document.getElementsByTagName('body')[0].appendChild(scriptElement);
          }
        });
      }
    
    }
    
    export interface ScriptModel {
      name: string;
      src: string;
      loaded: boolean;
    }
    Ответ написан
    Комментировать
  • Как накручивают лайки вк ЖИВЫМИ пользователями?

    NightBuster
    @NightBuster
    и 2 и 3... (1 по определению не подходит, ибо боты не живые =) )
    Сам лично натыкался на плагин для сайта, который что то типа считал, но порывшись в коде, обнаружилось, что при каждом клике пользователь "лайкал" некую рандомную запись (естественно при условии что он залогинен в ВК в данном браузере)
    Ответ написан
    Комментировать
  • Как в js сделать скролл на нужный мне radio button?

    NightBuster
    @NightBuster
    Примерно так:

    scrollTo($('input[type="radio"]:not(:checked)').offset().top, 0)
    );
    Ответ написан