1

Тема: [релиз расширения] jsHelper (1.0.0)

Расширение для разработчиков использующих javascript. Оснавная задача хелпера - избавить разработчика от головной боли размещения вызовов подключаемых скриптов в секции HEADER.
После инсталляции расширения в коде доступен объект $jsHelper
Имеет 2 метода:
addFile
addCode
В первом принимает параметром путь к js-файлу, во втором строку с js кодом. Вызывать методы можно где угодно

Сайт hcs

Поделиться

2 (28.11.2008 02:34 отредактировано parpalak)

Re: [релиз расширения] jsHelper (1.0.0)

У меня к вам есть небольшая просьба. Не могли бы вы переименовать это расширение в связи с тем, что приставка "pun_" используется в названиях официальных расширений? Мы уже как-то просили разработчиков не использовать эту приставку, так что мы будем последовательными и просим переименовать еще раз smile

Сайт parpalak

Поделиться

3

Re: [релиз расширения] jsHelper (1.0.0)

Без проблем.

Сайт hcs

Поделиться

4

Re: [релиз расширения] jsHelper (1.0.0)

hcs, а как именно добавлять строку с js-кодом?
Через Anycode попытался для тестирования в хук pf_change_details_about_pre_user_ident_info добавить код

echo('<script type="text/javascript">$jsHelper->addCode("alert(\'Hello from jsHelper via addCode()\');");</script>');
echo('<script type="text/javascript">alert(\'Hello from jsHelper...\')</script>');

В первой строчке FireBug выдает ошибку

syntax error
[Break on this error] $jsHelper->addCode("alert('Hello from jsHelper via addCode()');");

Вторая же "ручной тест" рабоатет...
Код в теле страницы выгляди вроде работоспособным:

78 <div class="profile ct-group data-group vcard">
79 <script type="text/javascript">$jsHelper->addCode("alert('Hello from jsHelper via addCode()');");</script><script type="text/javascript">alert('Hello from jsHelper...')</script> <div class="ct-set data-set set1">
80 <div class="ct-box data-box">
81 <ul class="user-ident ct-legend">

В JavaScript не очень силен... sad

"The only thing neccesary for the triumph of evil is for good men to do nothing..." (c)

Поделиться

5

Re: [релиз расширения] jsHelper (1.0.0)

smile
jsHelper предназначен для добавления javascript в секцию head хтмл-страницы, пока она генерится на стороне сервера, и при этом неизвестно точно в какой части пхп скрипта происходит исполнение, и вне зависимости от того, была ли уже сформирована секция head.
jsHelper - это часть класс php и использовать его может только php, поэтому конструкция
<script type="text/javascript">$jsHelper->addCode("alert('Hello from jsHelper via addCode()');");</script><script

type="text/javascript">alert('Hello from jsHelper...')</script>

ошибочна в принципе.
Допустим тебе надо вставить функцию js в head страницы. причем тебе не всегда нужна эта функция, а лишь иногда. Тогда, в скрипте php в месте где возникает необходимость в появлении в html твойей js-функции, ты делаешь это:

$jsHelper->addCode("function test() {alert('Hello from jsHelper via addCode()');}");

В результате, в head секции html появится функция :

function test() {alert('Hello from jsHelper via addCode()');}

Обобщая вышесказанное: jsHelper предназначен для вставки производбного js-script в head секцию html, в любое время в процессе выполнения пхп-скрипта, не беспокоясь о том, где находится на каком этапе исполнения скрипт, сформирована ли секция  head.

Сайт hcs

Поделиться

6

Re: [релиз расширения] jsHelper (1.0.0)

Понял...
Реально у самого мозгов не хватило посмотреть в manifest.xml и увидеть что это PHP класс... sad

А как по мне, так зря это расширение в "Корзина для мусора"...

"The only thing neccesary for the triumph of evil is for good men to do nothing..." (c)

Поделиться

7

Re: [релиз расширения] jsHelper (1.0.0)

Есть версия новее, а эта в мусоре потому что имя расширения выбрано неправильное.

Сайт hcs

Поделиться

8

Re: [релиз расширения] jsHelper (1.0.0)

/

Сайт hcs

Поделиться

9

Re: [релиз расширения] jsHelper (1.0.0)

тест

Сайт hcs

Поделиться