imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 10.02.2012, 19:01     # 1
bnbn
Guest
 
Сообщения: n/a

Exclamation $$ ScriptJava - новый стиль программирования на JavaScript

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

ScriptJava это JavaScript Framework, который создан для облегчения разработки динамических веб-приложений.

ScriptJava Framework

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

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

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

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

Код:
$$() - получение доступа к элементам
$$a() - работа с ajax
$$c() - работа с cookie
$$e() - работа с событиями
$$f() - отправка форм через ajax
$$i() - динамическое подключение скриптов стилей и создание элементов
$$r() - работа с событием window.onload
$$s() - набор полезных функций по работе с экраном, мышью, браузером, элементами, числами и т.д.
Код:
$$()
$$a() - ajax
$$c() - cookie
$$e() - event
$$f() - forms
$$i() - insert
$$r() - ready
$$s() - scripts
Примеры на 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 запрос';
	    }
	}
?>

Остальные примеры смотрите на оф сайте фреймворка


Ну и на последок несколько примеров сравнения jquery и scriptjava:

jQuery

Код:
$("#id").html("Привет");
scriptjava

Код:
$$('id','Привет');
или так

Код:
$$('id').$$('Привет');
jQuery

Код:
$("#id").css("color","red");
scriptjava

Код:
$$('id','color','red');
или так

Код:
$$('id').$$('color','red');
jQuery

Код:
$("#id").css({ border:"1px solid blue", fontWeight:"bolder", backgroundColor:"red" });
scriptjava

Код:
$$('id','border','1px solid blue').$$('fontWeight','bolder').$$('backgroundColor','red');
либо не париться и просто подключить стиль

Код:
$$i({
  create:'style',//создаю элемент style
  attribute: {//устанавливаю атрибуты
    'type':'text/css'
  },
  insert:$$s.getelbytag('head')[0]//подключаю стиль после тега head
}).$$('#id {border:1px solid blue; font-weight:bolder; background-color:red;}');
 
Старый 11.02.2012, 11:00     # 2
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
очередное изобретение велосипеда

лавры jQuery не дают покоя?
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  

Опции темы

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

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

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


Часовой пояс GMT +4, время: 21:57.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.