2013-08-19 3 views
0

я пытаюсь проверить, если мой сценарий загружается на данном веб-сайте, и если сценарий на самом деле работает без каких-либо ошибок OnLoad (в дальнейшем мне придется делать то же самое для OnClick)Php erros чтение сценария из консоли

до сих пор у меня есть

$testResult = array(); 
$homepage = 'http://www.example.dk/'; 
$data = file_get_contents($homepage); 
if (strpos($data,'example_script.js')) 
{ 
    $testResult['scriptLoaded'] = true; 
    print_r("win"); 
}else{ 
    $testResult['scriptLoaded'] = false; 
} 

Теперь это загружает страницу и проверяет, если браузер на этой странице. Но как я могу читать с консоли, чтобы проверить, есть ли какие-либо ошибки при загрузке скрипта?

Также это правильный способ проверить, есть ли сценарий на странице? Единственное ограничение, которое у меня есть, это то, что я должен использовать PHP.

+0

Вы ничего не загружаете, все, что вы делаете, загружает исходный код страницы и проверяет, содержит ли она строку 'example_script.js', которая не выполняет JavaScript или что-то вроде браузера. – Prix

+0

@Prix можно эмулировать его с помощью php? –

+0

С чистым PHP, нет, вам понадобится либо безголовый браузер, либо javascript-эмулятор, либо браузер. – Prix

ответ

1

Единственное, что вы можете проверить с помощью своего кода, это погода или не где-то в коде/содержании, которое вы получили от данного URL, есть строка example_script.js. Если бы вы использовали URL-адрес этой страницы, вы бы получили true и «выиграть», так как подстрока будет найдена.

JS может быть пронизан fauklts, но так как PHP не понять Js, вы не сможете это увидеть.
Если вы хотите проверить свой сайт, без браузера, единственное, что я могу вспомнить, используя phantomjs:

Which can be found Here

Использование PHP в одиночку, вы могли бы быть в состоянии сделать несколько проверок с использованием scriptable browser , cUrl и класс DOMDocument (для разбора и проверки разметки).

+0

Итак, только с PHP я никогда не смогу прочитать консоль веб-браузеров? –

+0

@MarcRasmussen: Конечно нет! Подумайте о консоли как частной собственности браузера. Способ его реализации зависит от каждого браузера в отдельности. Им даже не требуется внедрять консоль (она никак не защищена ECMA). консоль браузера - это клиентская сторона. Язык на стороне сервера не может обращаться к клиентскому программному обеспечению каким-либо значимым образом. Вы не можете установить новую ОС на клиенте и не можете изменять системные настройки со своей веб-страницы (не в законном порядке, так или иначе). Вам придется прибегать к безгласному браузеру или придерживаться традиционных методов отладки. –

+0

можно ли вызвать Phantomjs из php и использовать его функцию? –