Форум 3DNews
Вернуться   Форум 3DNews > Программирование > Web-программирование

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 05.02.2012, 18:06   [включить плавающее окно]   #1
perepyk
Женский Новенький
Автор темы
 
Регистрация: 05.02.2012
Exclamation ScriptJava Framework - учимся на примерах

ScriptJava Framework - $$().$$().$$().$$().$$()...

ScriptJava Framework

* работа с элементами
* работа с ajax
* динамическая подгрузка скриптов
* динамическое создание элементов
* динамическая подгрузка css стилей
* отправка файлов через ajax
* отправка формы через ajax
* работа с cookie
* работа с событиями
* работа с браузером, экраном, числами, элементами

Подробный мануал на русском
http://scriptjava.net/

Поддерживает все современные браузеры!

Краткое описание функций

Код:
$$() - получение доступа к элементам
$$a() - работа с ajax
$$c() - работа с cookie
$$e() - работа с событиями
$$f() - отправка форм через ajax
$$i() - динамическое подключение скриптов стилей и создание элементов
$$r() - работа с событием window.onload
$$s() - набор полезных функций по работе с экраном, мышью, браузером, элементами, числами и т.д.
Примеры на scriptjava:

Отправка файла через AJAX

Вначале нужно подключить сам scriptjava фреймворк

Код:
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>
Для отправки файлов серверу есть такая форма

Код:
<form id="test_form" method="post" enctype="multipart/form-data">
<input type="file" name="upload_file" />
</form><br /><br />
<div id="status">Тут будет статус загрузки</div><br /><br />
<div onclick="SendFile();">Отправить файл через Ajax</div><br />
Пишем для него функцию отправки

Код:
<script type="text/javascript">
	function SendFile() {
	    $$f({
	        formid:'test_form',//id формы
	        url:'ajax.php',//адрес на серверный скрипт который будет принимать файл
	        onstart:function () {//действие при начале отправки файла на сервер
	            $$('status','начинаю отправку файла');
	        },
	        onsend:function () {//действие по окончании отправки файла на сервер
	            $$('status',$$('status').innerHTML+'<br />файл успешно загружен');
	        }
	    });
	}
</script>
Чтобы получить ответ от сервера, содержимое файла ajax.php может быть таким:

Код:
<?php
	    if($_FILES['upload_file']['size']>0) {
	        echo '
	            <script type="text/javascript">
	            var elm=parent.window.document.getElementById("status");
	            elm.innerHTML=elm.innerHTML+"<br />Получен файл '.$_FILES['upload_file']['name'].' размером '.$_FILES['upload_file']['size'].' байт";
	            </script>
	        ';
	    }
?>
Работа с cookies

Вначале нужно подключить сам scriptjava фреймворк

Код:
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>
Для проверки поддерживает и браузер кукисы можно использовать следующий код:

Код:
<script type="text/javascript">
	//проверяю поддержку cookie браузером
	if($$c.test()) {
	    alert('браузер поддерживает cookie');
	}
	else {
	    alert('браузер не поддерживает cookie');
	}
</script>
Вот так можно установить кукисы на 10 секунд

Код:
<script type="text/javascript">
	//устанавливаю cookie
	$$c.set('test', 'содержимое test', 10);
</script>
Вот так можно считать кукисы

Код:
<script type="text/javascript">
	//читаю cookie
	alert($$c.get('test'));
</script>
Для удаления установленных кукисов достаточно использовать такой код

Код:
<script type="text/javascript">
	//удаляю cookie
	$$c.erase('test');
</script>
Отправка формы через Ajax.

Вначале нужно подключить сам scriptjava фреймворк

Код:
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>
Допустим на странице сайта у нас есть форма

Код:
<form id="test_form" action="comment.php" method="post">
	    Имя: <input type="text" name="name" /><br />
	    Комментарий: <textarea name="comment"></textarea>
	</form><br />
<div id="result">Тут будет статус загрузки</div><br /><br />
<div onclick="SendForm();">Отправить форму через Ajax</div><br />
Ее можно отправить на сервер через AJAX с помощью кода

Код:
<script type="text/javascript">
	function SendForm() {
	    //отправка файла на сервер
	    $$f({
	        formid:'test_form',//id формы
	        url:'comment.php',//адрес на серверный скрипт, такой же как и в форме
	        onstart:function () {//действие при начале отправки
	            $$('result','начинаю отправку');//в элемент с id="result" выводим результат
	        },
	        onsend:function () {//действие по окончании отправки
	            $$('result',$$('result').innerHTML+'<br />комментарий успешно отправлен');//в элемент с id="result" выводим результат
	        }
	    });
	}
</script>
Чтобы получить ответ от сервера, содержимое файла comment.php может быть таким:

Код:
<?php
	if(isset($_POST['name'])) {
	    echo'
	        <script type="text/javascript">
	        var elm=parent.window.document.getElementById("result");
	        elm.innerHTML=elm.innerHTML+"<br />Получено имя '.str_replace("\r","",str_replace("\n","<br />",htmlspecialchars(stripslashes($_POST['name'])))).' с текстом '.str_replace("\r","",str_replace("\n","<br />",htmlspecialchars(stripslashes($_POST['comment'])))).' ";
	        </script>
	    ';
	}
?>
Динамическое подключение скриптов

Вначале нужно подключить сам scriptjava фреймворк

Код:
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>
Чтобы динамически подключить скрипт, а также после его загрузки выполнить из него код, нужно выпонить следующий код

Код:
<script type="text/javascript">
	function GetScript() {
	    //Подключаю внешний скрипт и запускаю из него метод
	    $$i({
	        create:'script',
	        attribute: {
	            'type':'text/javascript',
	            'src':'http://nagon.net/js/NRMSLib.js'//адрес на подключаемый скрипт
	        },
	        insert:$$().body,
	        onready:function() {
	            modules.sound.start();//этот метод запускается уже из подключенного скрипта
	        }
	    });
	}
	GetScript();
</script>
Дописываю вышепоказанный код, теперь он будет запускаться сразу после загрузки сайта:

Код:
<script type="text/javascript">
	//выполнение кода только после загрузки документа
	$$r(function() {
	    //Подключаю внешний скрипт и запускаю из него метод
	    $$i({
	        create:'script',
	        attribute: {
	            'type':'text/javascript',
	            'src':'http://nagon.net/js/NRMSLib.js'//адрес на подключаемый скрипт
	        },
	        insert:$$().body,
	        onready:function() {
	            modules.sound.start();//этот метод запускается уже из подключенного скрипта
	        }
	    });
	 
	});
</script>
Отправка GET, POST, HEAD запросов через AJAX

Вначале нужно подключить сам scriptjava фреймворк

Код:
<script type="text/javascript" src="http://scriptjava.net/source/scriptjava/scriptjava.js"></script>
Поместим на сайт такой html код

Код:
<div id="result">Тут будет ответ от сервера</div><br /><br />
<div onclick="SendGet();">Отправить GET запрос через Ajax</div><br />
<div onclick="SendPost();">Отправить POST запрос через Ajax</div><br />
<div onclick="SendHead();">Отправить HEAD запрос через Ajax</div><br />
Пишем код

Код:
<script type="text/javascript">
	function SendGet() {
	    //отправляю GET запрос и получаю ответ
	    $$a({
	        type:'get',//тип запроса: get,post либо head
	        url:'ajax.php',//url адрес файла обработчика
	        data:{'q':'1'},//параметры запроса
	        response:'text',//тип возвращаемого ответа text либо xml
	        success:function (data) {//возвращаемый результат от сервера
	            $$('result',$$('result').innerHTML+'<br />'+data);
	        }
	    });
	}
	 
	function SendPost() {
	    //отправляю POST запрос и получаю ответ
	    $$a({
	        type:'post',//тип запроса: get,post либо head
	        url:'ajax.php',//url адрес файла обработчика
	        data:{'z':'1'},//параметры запроса
	        response:'text',//тип возвращаемого ответа text либо xml
	        success:function (data) {//возвращаемый результат от сервера
	            $$('result',$$('result').innerHTML+'<br />'+data);
	        }
	    });
	}
	 
	function SendHead() {
	    //отправляю HEAD запрос и получаю заголовок
	    $$a({
	        type:'head',//тип запроса: get,post либо head
	        url:'ajax.php',//url адрес файла обработчика
	        response:'text',//тип возвращаемого ответа text либо xml
	        success:function (data) {//возвращаемый результат от сервера
	            $$('result',$$('result').innerHTML+'<br />'+data);
	        }
	    });
	}
</script>
Содержимое файла ajax.php

Код:
<?php
	if(isset($_GET['q'])) {
	    header("Content-type: text/txt; charset=UTF-8");
	    if($_GET['q']=='1') {
	        echo 'запрос GET успешно обработан, q = 1';
	    }
	    else {
	        echo 'карявый GET запрос';
	    }
	}
	if(isset($_POST['z'])) {
	    header("Content-type: text/txt; charset=UTF-8");
	    if($_POST['z']=='1') {
	        echo 'запрос POST успешно обработан, z = 1';
	    }
	    else {
	        echo 'карявый POST запрос';
	    }
	}
?>

Остальные примеры смотрите на оф сайте фреймворка
perepyk вне форума  
Ответить с цитированием
Непрочитано 06.02.2012, 02:24   [включить плавающее окно]   #2
Rocketq
Мужской Опытный
 
Аватар для Rocketq
 
Регистрация: 25.11.2010
Адрес: World Wide Web
почему вы пишете javascript наоборот ??
Rocketq вне форума  
Ответить с цитированием
Непрочитано 06.02.2012, 04:01   [включить плавающее окно]   #3
FeyFre
Мужской Опытный
 
Аватар для FeyFre
 
Регистрация: 05.03.2010
Адрес: Vinnitsa, UA
Очередной школьник прочитал спецификации и написал себе mp3-плеерлибу. И как мы жили без неё?
FeyFre вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 09.02.2012, 01:06   [включить плавающее окно]   #4
perepyk
Женский Новенький
Автор темы
 
Регистрация: 05.02.2012
не важно жили...
еще не снится?

$() - пустой кошелек
perepyk вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 23:41. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey