Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.04.2012, 06:21
Новичок на форуме
Отправить личное сообщение для RomanA Посмотреть профиль Найти все сообщения от RomanA
 
Регистрация: 04.04.2012
Сообщений: 3

Получить код 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 до недавнего времени вообще не работал, только начал осваивать. Очень надеюсь на вашу помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 04.04.2012, 06:47
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

1. Да, правильно.

2. Просто прописать путь в строке браузера. Сам браузер действует аналогичным способом.
Правда, возможно, что на сервере при выдаче printdate.js проверяется реферер в запросе, и, если его нет, возвращается ошибка.
Либо такого файла вообще нет, а функция объявлена в другом месте.
Чтобы выполнить эту функцию, Вам нужно выполнить весь JS код, имеющий к ней отношение и подгружаемый на страницу. Для этого Вам понадобится какой-нибудь JS движок (V8, SpiderMonkey, Rhino, …).
Ответить с цитированием
  #3 (permalink)  
Старый 04.04.2012, 08:31
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от RomanA
Мне нужна дата, а не функция с параметром!
Ну и возьмите дату из этой строчки.
Сообщение от RomanA
<td><script>printShortDate(1333447200000)</script></td>
Ответить с цитированием
  #4 (permalink)  
Старый 04.04.2012, 08:46
Новичок на форуме
Отправить личное сообщение для RomanA Посмотреть профиль Найти все сообщения от RomanA
 
Регистрация: 04.04.2012
Сообщений: 3

Спасибо за информацию! Будем читать на данную тематику.

А проблемку свои решил) Видимо вчера ум за разум заехал и при прописывании пути к скрипту в одном месте писал двойной слэш... естесственно страница не находилась.

Сегодня попытался - и вуаля, всё работает!
Ответить с цитированием
  #5 (permalink)  
Старый 04.04.2012, 08:53
Новичок на форуме
Отправить личное сообщение для RomanA Посмотреть профиль Найти все сообщения от RomanA
 
Регистрация: 04.04.2012
Сообщений: 3

Сообщение от Kolyaj Посмотреть сообщение
Ну и возьмите дату из этой строчки.
Просто я не знал, что эти цифры означают)) Думал как-то хитро закодированная информация. А судя по содержимому скрипта и заглядыванию в гугл - количество миллисекунд, прошедших с 00:00 1 января 1970 года.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить доступ к ссылкам в iframe с помощью js Gratt Общие вопросы Javascript 4 01.09.2009 20:17
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 11:03
Нужно получить конечный хтмл код must_have Работа 1 05.01.2009 15:59
вызов функции, из JS генерируемого на сервере subaru AJAX и COMET 1 12.07.2008 12:44
подключение стороннего js скрипта friend Общие вопросы Javascript 2 24.05.2008 18:51