Skip to content

Instantly share code, notes, and snippets.

@rambabusaravanan
Last active April 4, 2026 00:31
Show Gist options
  • Select an option

  • Save rambabusaravanan/1d594bd8d1c3153bc8367753b17d074b to your computer and use it in GitHub Desktop.

Select an option

Save rambabusaravanan/1d594bd8d1c3153bc8367753b17d074b to your computer and use it in GitHub Desktop.

Revisions

  1. rambabusaravanan revised this gist Jul 11, 2023. 1 changed file with 7 additions and 5 deletions.
    12 changes: 7 additions & 5 deletions detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,9 @@
    // Paste these lines into website's console (Win/Linux: Ctrl + Shift + I / Mac: Cmd + Alt + I)

    if(!!window.React ||
    !!document.querySelector('[data-reactroot], [data-reactid]'))
    !!document.querySelector('[data-reactroot], [data-reactid]') ||
    Array.from(document.querySelectorAll('*')).some(e => e._reactRootContainer !== undefined || Object.keys(e).some(k => k.startsWith('__reactContainer')))
    )
    console.log('React.js');

    if(!!document.querySelector('script[id=__NEXT_DATA__]'))
    @@ -12,12 +14,12 @@ if(!!document.querySelector('[id=___gatsby]'))

    if(!!window.angular ||
    !!document.querySelector('.ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]') ||
    !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))
    !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]')
    )
    console.log('Angular.js');

    if (!!window.getAllAngularRootElements ||
    !!window.ng?.coreTokens?.NgZone)
    console.log('Angular 2+');
    if (!!window.getAllAngularRootElements || !!window.ng?.coreTokens?.NgZone)
    console.log('Angular');

    if(!!window.Backbone) console.log('Backbone.js');
    if(!!window.Ember) console.log('Ember.js');
  2. rambabusaravanan revised this gist Apr 11, 2022. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -7,6 +7,9 @@ if(!!window.React ||
    if(!!document.querySelector('script[id=__NEXT_DATA__]'))
    console.log('Next.js');

    if(!!document.querySelector('[id=___gatsby]'))
    console.log('Gatsby.js');

    if(!!window.angular ||
    !!document.querySelector('.ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]') ||
    !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))
  3. rambabusaravanan revised this gist Apr 11, 2022. 1 changed file with 4 additions and 0 deletions.
    4 changes: 4 additions & 0 deletions detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -12,6 +12,10 @@ if(!!window.angular ||
    !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))
    console.log('Angular.js');

    if (!!window.getAllAngularRootElements ||
    !!window.ng?.coreTokens?.NgZone)
    console.log('Angular 2+');

    if(!!window.Backbone) console.log('Backbone.js');
    if(!!window.Ember) console.log('Ember.js');
    if(!!window.Vue) console.log('Vue.js');
  4. rambabusaravanan revised this gist Apr 11, 2022. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    // Pase these lines into website's console ( Ctrl/Cmd + Shift + I )
    // Paste these lines into website's console (Win/Linux: Ctrl + Shift + I / Mac: Cmd + Alt + I)

    if(!!window.React ||
    !!document.querySelector('[data-reactroot], [data-reactid]'))
  5. rambabusaravanan revised this gist Apr 10, 2022. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -4,6 +4,9 @@ if(!!window.React ||
    !!document.querySelector('[data-reactroot], [data-reactid]'))
    console.log('React.js');

    if(!!document.querySelector('script[id=__NEXT_DATA__]'))
    console.log('Next.js');

    if(!!window.angular ||
    !!document.querySelector('.ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]') ||
    !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))
  6. rambabusaravanan revised this gist Aug 31, 2017. 1 changed file with 16 additions and 9 deletions.
    25 changes: 16 additions & 9 deletions detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -1,10 +1,17 @@
    // Pase these lines into website's console
    // Pase these lines into website's console ( Ctrl/Cmd + Shift + I )

    if(window.react || window.React) console.log('React.js');
    if(window.angular) console.log('Angular.js');
    if(window.Backbone) console.log('Backbone.js');
    if(window.Ember) console.log('Ember.js');
    if(window.Vue) console.log('Vue.js');
    if(window.Meteor) console.log('Meteor.js');
    if(window.Zepto) console.log('Zepto.js');
    if(window.jQuery) console.log('jQuery.js');
    if(!!window.React ||
    !!document.querySelector('[data-reactroot], [data-reactid]'))
    console.log('React.js');

    if(!!window.angular ||
    !!document.querySelector('.ng-binding, [ng-app], [data-ng-app], [ng-controller], [data-ng-controller], [ng-repeat], [data-ng-repeat]') ||
    !!document.querySelector('script[src*="angular.js"], script[src*="angular.min.js"]'))
    console.log('Angular.js');

    if(!!window.Backbone) console.log('Backbone.js');
    if(!!window.Ember) console.log('Ember.js');
    if(!!window.Vue) console.log('Vue.js');
    if(!!window.Meteor) console.log('Meteor.js');
    if(!!window.Zepto) console.log('Zepto.js');
    if(!!window.jQuery) console.log('jQuery.js');
  7. rambabusaravanan created this gist Mar 15, 2017.
    10 changes: 10 additions & 0 deletions detect-js-framework.js
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    // Pase these lines into website's console

    if(window.react || window.React) console.log('React.js');
    if(window.angular) console.log('Angular.js');
    if(window.Backbone) console.log('Backbone.js');
    if(window.Ember) console.log('Ember.js');
    if(window.Vue) console.log('Vue.js');
    if(window.Meteor) console.log('Meteor.js');
    if(window.Zepto) console.log('Zepto.js');
    if(window.jQuery) console.log('jQuery.js');