| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
VRuzin 13.10.2006 21:08
Думаю, функции подгрузки javaScript-ов понадобятся не только мне, поэтому делаю сводку изменений:# заменить метод @_object2js[uVar] в файле JSHttpRequest.p на
@_object2js[uVar]
$result[]
^if(!(
($uVar is "bool" && ($uVar && ^self._return[true] || ^self._return[false]))
|| ($uVar is "hash" && (($uVar && ^self._return[^self._hash2js[$uVar]]) || (def $uVar._default && ^self._return[$uVar._default]) || ^self._return[nullr]))
|| (!def $uVar && ^self._return[null])
|| ($uVar is "string" && ^self._return[^_string2js[$uVar]])
|| ($uVar is "int" && ^self._return[$uVar])
|| ($uVar is "double" && ^self._return[$uVar])
|| ($uVar is "table" && (($uVar && ^self._return[^self._table2js[$uVar]]) || ^self._return[null]))
|| ($uVar is "date" && ^self._return[new Date(^uVar.unix-timestamp[]000)])
)){
^self._return[null]
}
#end @_object2js[]
# в методе @_getDecodeTable[] после строки
# %u042F Я
# добавить строки:
%0D%0A ^taint[^#0A]
%0D ^taint[^#0A]
%0A ^taint[^#0A]
%09 ^taint[^#09]
# это нужно для корректной обработки переводов строки и табуляцийДля отправки JavaScript-a // Клиентская часть выглядит примерно так:
if (req.readyState == 4) {
if (req.responseJS) {
var obj = req.responseJS;
obj.init();
}
}
# Серверная часть выглядит примерно так:
$hParserVariable[
$.q[
<textarea id="your_id" style="display:none">
текст...
</textarea>
<a href="#" id="view">посмотреть</a>
]
$.init[
$._default[function(){
document.getElementById("page").innerHTML = this.q^;
document.getElementById("view").onclick = this.zzz^;
}
]
]
$.zzz[
$._default[function(){
alert(document.getElementById('your_id').innerHTML)^;
}
]
]
]
# потом благодарим Sergey M.