| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Передача переменных с неэкранированными кавычами |
| Автор: Farik 13.5.2005, 12:10 | ||||||||||||
| Задачка такая - на сервере генерится контент из тимплейта, получается здоровая таблица Таблица форматирована фигово
Когда в строчке таких ячеек 25, да плюс самих строчек - 150, обьёмчик у странички получается немаленький. Хочу собственно умешьшить за счёт вынесения общего форматирования в JScript
Собственно затык возник в связи с тем, что некоторые переменные содержат все мыслимые кавычки и при генерации странички на сервере переменная %SPECIAL_BAD_LINK% заменяется на <a href="javascript:graph('634','1783051763',0)">graph</a> и при попытке это передать в функцию получается фигня
Я себе представляю выход из такой ситуации только следующий, изменить старый тимплейт
на
и в функцию вывода передавать
И вот собственно вопрос - есть ли какие либо варианты дальнейшего уменьшения размера странички, передаваемой пользователю в сложившихся обстоятельствах? |
| Автор: Aliance 13.5.2005, 15:09 | ||||
Просто используй escape-последовательности, замени все кавычки на \".
Дык циклом можно делать. Покажи какой код должен получить браузер? А зачем в твоей функции аргументы? Или ты ее (функция) сократил? |
| Автор: Farik 13.5.2005, 18:42 | ||||||||||||||||||
| так видимо неясно обьяснил... есть шаблон
cgi-шник на сервере возвращает страничку, сформированную по этому шаблону
и эта страничка отправляется к пользователю так вот в связи с тем, что фактически это огромная таблица, заполненная цифрами, есть возможность сократить её размер, вынеся структуру таблицы в JavaScript, а данные передавая в виде параметров функции
в связи с тем, что структура - для всей таблицы одна и та же
экономия при вынесении этой структуры в JScript, как показано выше, получается очень и очень существенной - в моём случае вместо 150кб - 20кб, из которых 5кб - кеширующийся после первого использования .js файл, то есть получается 150кб к 15кб так вот всю эту красоту портит парочка аргументов, те сгененённая по шаблону
страничка получается такой
и при попытке передать в виде аргумента переменную <a href="javascript:graph('634','1783051763',0)">graph</a>
получается фигня 8( экранировать кавычки внутри этой переменной я не могу, тк есть возможность изменения только тимплейта, а не формата вставляемых в него переменных. Для того, чтобы экранировать, нужно сначала пременную обьявить, а этого сделать не получается. Страничка, сгенерённая по шаблону
обработанна корректно быть не может
потому как внутри переменной %SPECIAL_BAD_LINK% содержатся оба вида кавычек 8( Так вот собственно и вопрос - есть ли возможность изменить шаблон так, чтобы как то использовать переменную <a href="javascript:graph('634','1783051763',0)">graph</a> в JScript коде? |
| Автор: Aliance 13.5.2005, 18:55 |
| Я ж говорю - замени там кавычки. Или escape-последовательности, или " ЗЫ: не JScript, а JavaScript коде 8)) |
| Автор: Farik 31.5.2005, 18:51 | ||
| JScript - это интерпретация JavaScript в IE не могу я "там заменить кавычки" есть код, возвращающий страничку, к нему я доступа не имею
переменная $template задаётся мной, а всё остальное - нет вопрос как раз в том, есть ли возможность изменить тимплейт так, чтобы работало то, что я описываю выше |
| Автор: Black 31.5.2005, 19:47 | ||||||
| Farik А так:
???? или так:
или так:
|
| Автор: Farik 1.6.2005, 00:55 | ||||
я могу изменить содержимое переменной $template могу так $template = 'ASDASDAD %s $!@#$!#@$@#'; могу так $template = '$!@#$!#@$@# %s ASDASDAD'; изменить содержимое скрипта - не могу. |
| Автор: Sardar 1.6.2005, 01:08 | ||
Farik не меняя код никак, но не пойму почему нельзя подредактировать строчку кода на:
|
| Автор: Farik 1.6.2005, 19:36 | ||||
| я бы с удовольствием подредактировал, не будь эта строчка кода скомпилированным cgiшником.... 8( у меня есть доступ только к тимплейту, который используется при генрации таблицы (то бишь при подставлении туда данных из БД) в пхп я бы это сделал через
вот надеялся, что есть какой либо подобный приём жаве, да видимо нету....
|
| Автор: Sardar 1.6.2005, 19:44 |
| Увы heredoc фича PHP, редко где ещё встретишь |