1

Тема: Подключение js с php вставками

Ситуация:
1) В манифесте вызов: include $ext_info['path'].'/code_js.php';
В файле содержится код php и вывод огромного скрипта js через echo со вставками php. Результат - ужасно неудобно и криво.

Вылезают ошибки:
Uncaught SyntaxError: Invalid regular expression: missing / viewtopic.php:615
Resource interpreted as script but transferred with MIME type text/html.

2) В манифесте вызов: echo '<script type="text/javascript" src="'.$ext_info['url'].'/spoiler.js"></script>';
В файле скрипт js, но при добавлении вставок всё рушится с ошибками. Результат - не тру.

3) Вариант всё в манифесте писать опять через echo....но тоже много и неудобно.

4) Какие ещё варианты?

У меня в базе содержится значение, мне его нужно запихнуть в огромный js скрипт, а потом ещё и в css файл...каким образом? Я уже сломал всё что смог  sad

Поделиться

2

Re: Подключение js с php вставками

может стоит посмотреть в сторону регулярных выражений?

для js можно что то типо
var ujs = 'bla bla';

и потом использывать переменную в скрипте

Блог | GitHub

ХХХ: Cлучайно через мозиллу удалил фотки с майл.ру . Как восстановить? Переустановка файрфокса ничего не дала

Сайт KANekT

Поделиться

3

Re: Подключение js с php вставками

А каким образом регулярные выражения помогут вставить значение из базы данных в js и css? Оо Саму вставку организовать легко...но дело в удобстве...через еко всё выводить неочень хочется, да и в таком случае браузер не будет помещать js в кэш (вроде).

Можно попробовать сделать файл php который заносит полученные переменные php в переменные js, а в следующем файле с чистым js их подставить...но будут ли переменные сохранены...т.е. если сделать так:
echo '<script>var ujs = '.$ujs.'</script>'
а в следующем файле
<script>document.write(ujs)</script>
В последнем переменная ujs существовать будет?

Поделиться

4

Re: Подключение js с php вставками

у меня в каком расширении реализовано изменение php файла регулярками.

я не совсем понимаю что вы хотите сделать

Блог | GitHub

ХХХ: Cлучайно через мозиллу удалил фотки с майл.ру . Как восстановить? Переустановка файрфокса ничего не дала

Сайт KANekT

Поделиться

5 (02.03.2011 10:03 отредактировано brainiac)

Re: Подключение js с php вставками

Да я сам не понимаю чё пишу...
Корень идеи такой: хочу сделать настройки отображения блоков кода для каждого юзера (хранятся в базе). И при обработке кода яваскриптом учитывать эти настройки (шрифт, цвет и прочее). Планирую в базе в таблице _users создать один столбик text формата, где будет храниться у каждого xml документ с этими настройками. Вот этот xml должен читаться php скриптом и передавать (всё содержимое xml) яваскрипту, который его регулярками разбирает, делает там свои переменные и дальше уже обрабатывает сам блок кода <-code><-/code>

То что выделено и есть проблема = )

Дробление скрипта на разные файлы оказывается сохраняет зависимость переменных, если в одном файле мы объявили что-то, то во втором это что-то можно получить....проблема почти решена )

Поделиться

6

Re: Подключение js с php вставками

тогда что мешает запросом брать данные хмл
потом из помещать например в переменную
и дальше эту переменную отдавать вашему ява скрипту.

Блог | GitHub

ХХХ: Cлучайно через мозиллу удалил фотки с майл.ру . Как восстановить? Переустановка файрфокса ничего не дала

Сайт KANekT

Поделиться

7

Re: Подключение js с php вставками

<?php
if ($forum_user['id']) {
    $query = array(
        'SELECT'    => 'gml_style',
        'FROM'        => 'users',
        'WHERE'     => 'id=\''.$forum_user['id'].'\''
    );
    $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
    $gml_xml = $forum_db->fetch_assoc($result);
}
echo '<script>alert(\''.$gml_xml['gml_style'].'\');</script>';
?>

Выдаёт ошибку Uncaught SyntaxError: Unexpected token ILLEGAL когда в этом столбце с эти id юзера что-то есть. Если NULL то показывает пустое модельное окно... в чём тут ошибка?

Поделиться

8 (02.03.2011 22:54 отредактировано brainiac)

Re: Подключение js с php вставками

Уточню...я туда xml поместить не могу, тоесть всё чё касается тегов в базе ему не нравится, обычный текст он выводит....что делать?

ЗЫ как вариант конечно можно понаписать всё не тегами а типа bb тегами...тогда всё читается, но хочу нормальный xml  neutral

Поделиться

9

Re: Подключение js с php вставками

Попробуй

<script type='text/javascript'><![CDATA[<!--/*<body>*/-->]]></script>
Блог | GitHub

ХХХ: Cлучайно через мозиллу удалил фотки с майл.ру . Как восстановить? Переустановка файрфокса ничего не дала

Сайт KANekT

Поделиться

10

Re: Подключение js с php вставками

Куда это? Я не понимаю..., методом многократного тыка определил что вообще ппц....допустим если там написать <![CDATA[<!--/*<body>*/-->]], то всё нормально - ошибки не будет, а вот если это разбить на 2 строки, то будет ошибка. Для эксперемента взял из базы текст многострочного сообщения в таблице posts, вставил в свою фиговину... - выдал ошибку. При каких-то комбинациях тегов и в 1-ой строке будет ошибка, а вот если набрать что-то типа "арврарварва..." - ошибки не будет....

Щаз взорвусь....чё там где кому сломать надо чтобы работало? Я даже логики этой ошибки понять не могу, ни логики ни источника проблемы, слов нету...

Поделиться

11

Re: Подключение js с php вставками

brainiac пишет:
<?php
if ($forum_user['id']) {
    $query = array(
        'SELECT'    => 'gml_style',
        'FROM'        => 'users',
        'WHERE'     => 'id=''.$forum_user['id'].'''
    );
    $result = $forum_db->query_build($query) or error(__FILE__, __LINE__);
    $gml_xml = $forum_db->fetch_assoc($result);
}
echo '<script>alert(''.$gml_xml['gml_style'].'');</script>';
?>

Выдаёт ошибку Uncaught SyntaxError: Unexpected token ILLEGAL когда в этом столбце с эти id юзера что-то есть. Если NULL то показывает пустое модельное окно... в чём тут ошибка?

Слишком сумбурно . Кто выдает ошибку? Где выдает ошибку?

Сайт hcs

Поделиться

12

Re: Подключение js с php вставками

В консоле chrome это выдаёт. Полная строка:
Uncaught SyntaxError: Unexpected token ILLEGAL : viewtopic.php:534.
Содержимое  viewtopic.php около 534 строки:

Форум на основе <a href="http://punbb.informer.com/" style="color: white;">PunBB</a>.
        <script>alert('<gmlxml>

Тут ещё теги

</gmlxml>');</script><script type="text/javascript" src="..............

В консоле Opera всё чисто, но вместо результата выдаёт модальное с надписью "<localhost>".

Я вот думаю щаз....мб это потому, что он не может понять разрыв в строке - ищет закрывающую кавычку в строке, а её нет Оо. Получается нужно в базе будет писать както так:
'текст'
+'текст2'
+ 'и тд'

Вобщем наверное разобрался я )...

Слишком сумбурно

А как лучше? Я неочень в этих делах...

Добавлено спустя 28 минут 45 секунд:

Вобщем теперь можно писать хоть как и с переносами....добавил $gml_xml['gml_style'] = $str=str_replace("\r\n"," ",$gml_xml['gml_style']);  smile

Поделиться