parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Заработало!!! Спасибо Сергей!

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.