Получить код js-скрипта, находящегося в файле на сервере
Пишу программу, которая получает код нужной мне страницы. Пишу на php, код страницы получаю с помощью curl, после чего начинаю его обрабатывать, вытаскивая нужную информацию. При обработке столкнулся с проблемой. В коде страницы прописана ссылка на файл:
<script language="Javascript" type="text/javascript" src="/scripts/printdate.js?t=1333007404"></script> А в нужном месте идет вызов функции из этого файла: <td><script>printShortDate(1333447200000)</script></td> Т. е. в браузере в нужном месте показана дата, а в исходном коде страницы на том месте - функция. Вот в этом и возникает проблема! Мне нужна дата, а не функция с параметром! И я не совсем могу понять как это можно сделать. Как я понимаю данную ситуацию: файл printdate.js находится на сервере. При отрисовке страницы, по всей видимости, содержимое этого файла куда-то (куда?) загружается. И далее, при продолжении отрисовки, натыкаясь на код printShortDate(1333447200000) запускается функция printShortDate, которая возвращает нужный код. Вот здесь у меня позникает несколько вопросов: 1)Правильно ли я понимаю то, о чем написал выше и если нет, то в каких местах ошибаюсь? 2)Каким образом можно получить код файла printdate.js (попытка прописать путь в строке браузера завершилась неудачей)? Если честно, сам код меня особо не интересует, меня больше интересует то, что возвращает функция printShortDate, находящаяся в этом файле. Поэтому, этот вопрос можно наверное и переформулировать: как выполнить функцию, находящуюся в файле на сервере? Извиняюсь, если мои вопросы покажутся глупыми и неправильно сформулированными, с js и web до недавнего времени вообще не работал, только начал осваивать. Очень надеюсь на вашу помощь! |
1. Да, правильно.
2. Просто прописать путь в строке браузера. Сам браузер действует аналогичным способом. Правда, возможно, что на сервере при выдаче printdate.js проверяется реферер в запросе, и, если его нет, возвращается ошибка. Либо такого файла вообще нет, а функция объявлена в другом месте. Чтобы выполнить эту функцию, Вам нужно выполнить весь JS код, имеющий к ней отношение и подгружаемый на страницу. Для этого Вам понадобится какой-нибудь JS движок (V8, SpiderMonkey, Rhino, …). |
Цитата:
Цитата:
|
Спасибо за информацию! :) Будем читать на данную тематику.
А проблемку свои решил) Видимо вчера ум за разум заехал и при прописывании пути к скрипту в одном месте писал двойной слэш... естесственно страница не находилась. Сегодня попытался - и вуаля, всё работает! :) |
Цитата:
|
Часовой пояс GMT +3, время: 18:48. |