Новости | 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.