![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| EasyTask |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 26.7.2010 Репутация: нет Всего: нет |
Столкнулся со следующей проблемой. При чтении книги "PHP5 Практика создания веб-сайтов", в главе "Передача данных из JavaScript в PHP" наткнулся на следующий код:
Перепечатав его со 100%-ной точностью я обнаружил что он не работоспособен. Методом проб и ошибок я попробовал разобрать его на куски и найти то, что мешает его выполнению. В итоге пришел к такому варианту:
Все заработало как и должно (изменил лишь написание параметров widndow.location.href) В связи с этим кодом у меня появилось несколько вопросов: 1\ Почему в виде window.location.href = "http://localhost/view.php?width=" + width; (пробел перед "+") код не хотел работать? Особенности JS? 2\ Большую часть кода я понимаю, но что значит это?
Вроде как значение переменных мы определяем несколькими строками выше. Что значит "если мы не получим значение переменной из screen" и что происходит в этом случае? (что означает код приведенный выше) Заранее спасибо за ответы! Это сообщение отредактировал(а) EasyTask - 26.7.2010, 16:00 |
||||||
|
|||||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
не знаю, почему ты винишь пробел, но перевод строки там разрывает код. в js это критично это java-хрень, направленная видимо на использование некоторого java-плагина, если он конечно установлен в браузере (или некоторой javascript-библиотеки). к чистому javascript он не имеет никакого отношения |
|||
|
||||
| EasyTask |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 52 Регистрация: 26.7.2010 Репутация: нет Всего: нет |
Большое спасибо за ответ!
Ну да, я тоже подозревал что причина в этом (хотя в листинге из книжки был указан именно такой код). Вопрос снят. Почему то мне сначало показалось что так код НЕ работает: "http://localhost/view.php?width=" + width; Но работает так: "http://localhost/view.php?width="+width; т.е я сначала я удивился, что наличие пробелов вокруг плюса между строкой и переменной критично. Сейчас проверил еще раз - работают оба варианта.
То есть использование этого блока кода - не обязательно и не несет какой то важной смысловой нагрузки? (Код работоспособен и без этих строк) Это сообщение отредактировал(а) EasyTask - 26.7.2010, 21:26 |
||||
|
|||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 44 Всего: 315 |
да, потому что self.screen (а точнее window.screen) одно из наиболее кроссбраузерных свойств javascript. поддерживается везде, если javascript вообще поддерживается |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |