Форум, знакомства, фото, чат, общение

Здравствуйте, гость ( Вход | Регистрация )

Приглашаем Информационных Партнеров!
> Случайные изображения












> Php И Javascript

шпунтик
сообщение 14.11.2011, 10:11
Сообщение #1


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



PHP и JavaScript

Сценарный язык JavaScript обладает чрезвычайно богатыми возможностями для разработки Интернет-приложений, работающих как на клиентской, так и на серверной стороне. У этого языка есть немало интересных особенностей, и одна из них -- возможность обработки не только данных, но и событий. Событие определяется как некоторое действие, выполненное в контексте браузера, -- например, щелчок мышью или загрузка страницы.

Любой программист с опытом работы на PHP, Pascal или C++ освоит JavaScript без особого труда. Если вы не программировали на этих языках, не огорчайтесь -- JavaScript изучается легко. Разработчики JavaScript (как, впрочем, и разработчики PHP) в первую очередь ориентировались на решение реальных, практических задач.

Если вы хотите воспользоваться средствами обработки,событий JavaScript, сохранив при этом многочисленные преимущества PHP, могу вас обрадовать -- PHP интегрируется с JavaScript так же легко, как и с HTML. В сущности, JavaScript неплохо дополняет PHP -- на нем удобно делать то, что неудобно делать в PHP, и наоборот.

Но прежде чем интегрировать PHP с JavaScript, следует учесть, что некоторые пользователи отключают поддержку JavaScript в своих браузерах или работают в браузерах, вообще не поддерживающих JavaScript (представьте, такое тоже бывает!). В PHP предусмотрены простые средства для распознавания таких ситуаций.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
шпунтик
сообщение 14.11.2011, 10:15
Сообщение #2


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Проверка поддержки JavaScript

Правильное определение возможностей браузера избавит пользователей от неприятностей при посещении вашего сайта. Ничто так не действует на нервы, как град раздражающих сообщений «JavaScript Error» или недоступность каких-то средств сайта из-за того, что использованные вами технологии не поддерживаются браузером. К счастью, в PHP предусмотрено простое средство для проверки возможностей браузера -- стандартная функция get_browser( ).

get_browser( )
Функция get_browser( ) возвращает информацию о возможностях браузера в виде объекта. Синтаксис:
object get_browser([string агент])

Необязательный параметр агент используется для получения характеристик конкретного браузера. Как правило, функция get_browser( ) вызывается без параметров, поскольку по умолчанию она использует глобальную переменную PHP $HTTP_USER_AGENT.

Стандартный список возможностей браузера хранится в файле browcap, путь к которому определяется параметром browcap в файле php.ini. По умолчанию эта строка выглядит следующим образом:

;browcap = extra/browcap.ini

Файл browser.ini был разработан компанией cyScape, Inc. Последняя версия этого файла находится по адресу http://www.cyscape.com/browcap . Загрузите и распакуйте этот файл в каталог на сервере. Запомните имя каталога, оно понадобится вам для обновления параметра browcap в файле php.ini.

В принципе, после загрузки browcap.ini и редактирования файла php.ini вы можете включать в свои программы проверку возможностей браузера. Впрочем, я рекомендую сначала открыть файл browser.ini и ознакомиться с его структурой, а затем просмотреть листинги 1.1 и 1.2. В листинге 1.1 приведен очень простой пример отображения всех возможностей браузера в самом браузере. Листинг 1.2 ограничивается лишь одной возможностью -- поддержкой JavaScript.
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:16
Сообщение #3


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Листинг 1.1. Отображение всех атрибутов браузера
Код
<?
// Получить информацию о браузере
$browser = get_browser();
// Преобразовать $browser в массив
Sbrowser = (array) Sbrowser;
while (list ($key, $value) = each ($browser)) :
// Присвоить нули пустым элементам массива
if ($value == "") : $value = 0;
endif;
print "$key : $value <br>";
endwhile;
?>


Для браузера Microsoft Internet Explorer 5.0 листинг 15.1 выводит следующий результат:

browser_name_pattern : Mozilla/4\.0 (compatible; MSIE 5\..*)
parent IE 5.0
browser : 5.0
version : 15
majorver : #5
minorver : #5
frames : 1
tables : 1
cookies : 1
backgroundsounds : 1
vbscript : 1
javascript : 1
javaapplets : 1
activexcontrols : 1
win16 : 0
beta : 0
ak : 0
sk : 0
aol : 0
crawler : 0
cdf : 1
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:17
Сообщение #4


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



В листинге 1.2 приведен простой, но эффективный сценарий, который при помощи файла browcap.ini определяет, включена ли поддержка JavaScript в браузере.

Листинг 1.2. Проверка поддержки JavaScript
Код
<?
$browser = get_browser( );
// Преобразовать $browser в массив $browser = (array) $browser;
if ($browser["javascript"] == 1) :
print "Javascript enabled!";
else :
print "No javascript allowed!";
endif;
?>


Листинг 1.2 проверяет, присутствует ли ключ javascript для заданного браузера. Если ключ присутствует и равен 1, в браузере выводится сообщение о поддержке JavaScript. В противном случае выводится сообщение об ошибке. Конечно, в реальной программе вместо выдачи сообщения следует выполнить какие-нибудь полезные действия.
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:18
Сообщение #5


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Следующие два примера показывают, как легко PHP,интегрируется с JavaScript. Листинг 1.3 определяет параметры экрана (разрешение и цветовую глубину) средствами JavaScript и затем выводит их средствами PHP. Листинг 1.4 (см. следующий раздел) показывает, как при помощи шаблона PHP во временном (pop-up) окне, вызванном из кода JavaScript, выводится информация о ссылке, на которой щелкнул пользователь.

Листинг 1.3. Определение цветовой глубины и разрешения экрана
Код
<html>
<head>
<title>Browser Information</title>
</head>
<body>
<script language="Javascriptl.2">
<!--//
document.write('<form method=POST action ="<? echo $PHP_SELF; ?>">');
document.write('<input type=hidden name=version value=' + navigator.appVersion + '>');
document.write('<input type=hidden name=type value=' + navigator.appName + '>');
document.write('<input type=hidden name-screenWidth value=' + screen.width +'>');
document.write('<input type=hidden name=screenHeight value=' + screen.height + '>'};
document.write('<input type=hidden name=browserHeight value=' + window.innerWidth + '>');
document.write('<input type=hidden name=browserWidth value=' + window.innerHeight + '>');
//-->
</script>
<input type="submit" value="Get browser information"><p>
</form>
<?
echo "<b>Browser:</b> $type Version: $version<br>";
echo "<b>Screen Resolution:</b> $screenWidth x $screenHeight pixels.<br>";
if ($browserWidth != 0) :
echo "<b>Browser resolution:</b> $browserWidth x $browserHeight pixels.";
else :
echo "No javascript browser resolution support for Internet Explorer";
endif;
?>
</body>
</html>
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:20
Сообщение #6


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Динамическое создание временных окон

В JavaScript предусмотрены простые и удобные средства для работы с окнами браузера. В частности, JavaScript позволяет отображать временные окна с вспомогательной информацией, не оправдывающей создания и загрузки отдельной страницы. Напрашивается очевидная идея -- построить универсальный шаблон, который будет использоваться для всех временных окон. Все, что для этого потребуется, -- PHP. В листинге 1.4 показано, как файл PHP window.php вызывается из JavaScript. В этом файле реализован очень простой шаблон с директивой INCLUDE для включения файла, идентификатор которого передается window.php при вызове из JavaScript.

Для читателей, не имеющих опыта программирования на JavaScript, я включил в программу подробные комментарии. Значение переменной winld, передаваемой сценарию PHP window.php, задается внутри ссылки в основном коде HTML. Когда пользователь щелкает на ссылке, вызывается функция newWindow( ), определенная в JavaScript. Чтобы вы лучше поняли, как это происходит, рассмотрим следующую ссылку:

<а href="#" onClick="newWindow(1):">Contact us</a><br>

Как видите, я просто включаю в href значение "#", поскольку ссылка генерируется обработчиком события onClick в JavaScript. Установка обработчика приводит к тому, что при щелчке на ссылке вызывается функция newWindow( ). Обратите внимание на параметр, передаваемый при вызове этой функции (в приведенном примере -- 1). Содержащийся в нем идентификатор используется сценарием PHP для выбора отображаемой информации. Вы можете передать любое число -- при условии, что оно соответствует имени файла, отображаемого в сценарии PHP. Внимательно просмотрите листинг 1.4. Чтобы вам было легче ориентироваться, я создал три простых файла *.inc, соответствующих ссылкам в этом листинге.

Листинг 1.4. Динамическое построение временных окон
Код
<html>
<head>
<title>Listing 15-4</title>
<script language="Javascript">
// Объявить переменную Javascript
var popWindow;
// Объявить функцию newWindow
function newWindow(winID)
{
// Объявить переменную winURL. Присвоить ей
// имя файла PHP с последующими данными.
var winURL = "Listingl5-5.php?winID=" + winID;
// Если временное окно не существует или закрыто.
// открыть его.
if (! popWindow | popWindow.closed) {
// Открыть новое окно шириной 200 пикселов и высотой
// 300 пикселов, расположенное на расстоянии 150 пикселов
// от левого края и 100 пикселов от верхнего края
// основного окна.
popWindow = window.open(winURL. 'popWindow',
dependent.width=200.height=300.left=150 ,top=100');
}
// Если временное окно уже открыто.
// активизировать его и обновить содержимое
// в соответствии с winURL.
else {
popWindow.focus();
popWindow.location = winURL;
}
}
//-->
</SCRIPT>
</head>
<body bgcolor="#ffffff" text="#000000" link="#808040"'vlink="#808040" alink="#808040">
<a href="#" onClick="newWindow(1);">Contact Us</a><br>
<a href="#" onClick="newWindow(2):">Driving Directions</a><br>
<a href="#" onClick="newWindow(3);">Weather Report</a><br>
</body>
</html>
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:23
Сообщение #7


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Когда пользователь щелкает на одной из ссылок в листинге 1.4, программа создает временное окно и загружает в него содержимое, полученное в результате вызова window.php. Сценарию window.php передается переменная winID, по которой определяется файл, включаемый в сценарий PHP. Сценарий window.php приведен в листинге 1.5.

Листинг 1.5. Сценарий window.php
Код
<html>
<head>
<title>Popup Window Fun</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="black" vlink="gray" alink="#808040">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<?
// Включить файл, имя которого определяется
// переданным параметром.
INCLUDE("$winID.inc");
?>
</td>
</tr>
<tr>
<td>
<a href="#" onClick="parent.self.closet);
">close window</a>
</td>
</tr>
</table>
</body>
</html>
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:25
Сообщение #8


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Остается лишь создать файлы для ссылок в листинге 1.4. Поскольку в ссылках передаются три уникальных идентификатора (1, 2 и 3), мы должны создать три файла. Первый файл, содержащий контактную информацию, сохраняется с именем Line:

Код
<td>
<h4>Contact Us</h4>
<table> <tr>
<li>email: <a href="mailto:wj@wjgilmore.com">wj@wjgilmore.com</a> <li>phone: (555) 867 5309 <li>mobile: (555) 555 5555 </ul> </td>
</tr> </table>


Следующий файл (местонахождение) сохраняется с именем 2.inс.

Код
<table>
<tr>
<td>
<h4>Driving Directions</h4>
<ol>
<li>Turn left on 1st avenue.
<li>Enter the old Grant building.
<li>Take elevator to 4th floor.
<li>We're in room 444.
</td>
</tr>
</table>


Последний файл (сводка погоды) сохраняется с именем 3.inc. Обратите внимание на вызов функции PHP, возвращающей текущую дату, -- этот пример наглядно показывает, как легко PHP интегрируется с java script: ,
Код
<table>
<tr>
<td>
<h4>Weather Report <?=date("m-d-Y");?></h4>
<b>Today:</b> Birr... Brisk, with blowing and drifting snow.<br><br>
<b>Tonight:</b> Winter Weather Advisory. 7-10 inches snow expected.
</td>
</tr>
</table>
Go to the top of the page
 
+Quote Post
шпунтик
сообщение 14.11.2011, 10:26
Сообщение #9


Опытный Пользователь
****

Группа: Малёк
Сообщений: 241
Регистрация: 20.1.2009
Пользователь №: 14435



Наше короткое знакомство с интеграцией PHP/JavaScript подходит к концу. Мы рассмотрели несколько простых, но вполне реальных примеров, которые при желании легко адаптируются для более сложных целей. При объединении PHP с JavaScript или любой другой технологией, ориентированной на работу на стороне сервера, необходимо правильно определить возможности браузера, чтобы предотвратить случайные ошибки. Всегда полезно поэкспериментировать с другими технологиями, интегрируемыми с кодом PHP; только проследите за тем, чтобы не отпугнуть пользователей от сайта недоступными возможностями или содержанием, которое невозможно просмотреть.
Go to the top of the page
 
+Quote Post
dokumenov
сообщение 1.9.2013, 0:20
Сообщение #10


Новичок
*

Группа: Икринка
Сообщений: 1
Регистрация: 1.9.2013
Пользователь №: 24955



Подскажите на каком языке написан этот сайт? http://racionika.ru/how_thin
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 


Текстовая версия Сейчас: 19.4.2024, 21:13

Php И Javascript - Форум




Рейтинг@Mail.ru Rambler's Top100

forum.ribca.net | Web Дизайн: WonderWorker | http://Ribca.Net