Sprawdź, czy mój javascript jest załadowany na stronie

Zadałem to pytanie wcześniej, ale wydaje się, że źle zrozumiałem, dlatego postanowiłem zapytać jeszcze raz, ale tym razem z wieloma informacjami:

Dla leniwego czytelnika moim celem jest:

Czy istnieje sposób na sprawdzenie, czy javascript jest włączony na zewnętrznej stronie z PHP lub Ajax

Szczegółowy opis:

W porządku, więc moja firma ma wielu klientów, kiedy ci klienci zapisują się na naszej stronie, są wręczanijavascript. Mogą to wykorzystaćscript na własnej stronie internetowej, aby uzyskać dodatkowe funkcje.

Teraz wszystkie strony internetowe, które posiada klient, są przechowywane w naszym systemie CMS (podobnie jak lista wszystkich stron, które mają podpisane z nami).

Teraz mój szef dał mi następujące zadanie:

Potrzebujemy funkcji, aby użytkownik mógł nacisnąć przycisk „Test”, a system przetestuje, czy javascript jest na ich stronie i działa bezbłędnie (tj. Czy jest inny skrypt blokujący nasz).

W ciągu ostatnich kilku dni próbowałem znaleźć podobne przypadki na stronieweb i jedyną rzeczą, jaką zasugerowałem, był Phantomjs, jednak nie ma przykładów, jak nawet zbliżyć się do tego, co chcę osiągnąć.

Więc moje pytanie do ciebie:

czy można sprawdzić, czy witryna ma określony javascript.czy można sprawdzić, czy javascript działa bez błędów (jeśli konsola zgłasza błędy lub nie)

Mam nadzieję, że tym razem nie będę źle zrozumiany :) jeśli masz jakieś pytania, po prostu zostaw wiadomość, a ja odpowiem tak szybko, jak to możliwe!

Rozwiązanie phantomJs (oryginalnie opublikowane przez Eliasa)

To jest mój kod:

   var page = require('webpage').create();
page.onConsoleMessage = function( message, line, srcId)
{//show console errors for page
    console.log('Page has errors showing in console: ' + msg
        + ' (line: ' + (line || '?') + ', id: ' + srcId + ')');
};
page.open('http://www.marcrasmussen.com',function(status)
{
    if (status != 'success')
    {//can't load page
        console.log('Failed to open page: ' + status);
        phantom.exit();
        return;
    }
    var reslt = page.evaluate(function()
    {
        var usesOurScript = false,
            scripts = document.querySelectorAll('script');//get all script tags
        Array.forEach.apply(scripts, [function(elem)
        {//check all loaded scripts
              if (/jquery\.js/.js.js.test(elem.getAttribute('src')))
            {//this src attribute refers your script
                usesOurScript = true;//set to true
            }
        }]);
        return {page: location.href, found: usesOurScript};//return its href and the use-status
    });
    //script was found? adjust message
    reslt.found = (reslt.found ? ' uses ' : ' does not use ') + 'our script!';
    console.log(reslt.page + reslt.found);//logs url does not use || uses our script
    phantom.exit();
});

I nie ma wyjścia, które po prostu działa wiecznie, gdy uruchomię go z php:

Test.php

<?php echo shell_exec('phantomjs hello.js');

?>

questionAnswers(3)

yourAnswerToTheQuestion