Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SkyNetYar
я еще раз повторю - вы всерьез считаете, что по приведенным кускам можно понять как это все работает? если это определенная CMS, то лучше искать того, кто с ней работает.
 
потому, что  

Цитата:
При нажатии на кнопку срабатывает функция..  

которая лишь возвращает массив t с объектами внутри.
то есть возвращаемый массив выглядит как [{...},{...},{...}]
массив не может что то еще вызвать, тем более не в таком виде. тем более когда он представляет собой лишь, скорее всего, описание ссылок - название и URL на который они ведут при клике.
 
и если требуется какое то еще действие после открытия (например нажатие на кнопку отправки формы), то массив это сделать не может!

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 22:09 12-05-2017
SkyNetYar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все ясно, ключевое выражение тут это "(например нажатие на кнопку отправки формы), то массив это сделать не может! "
Как бы это все объясняет почему разрабы сразу так не сделали..  
 
Добавлено:
Хорошо, а не подскажите на примере как вызвать в этой функции другую?
Ну вот просто разраб утверждает что это возможно, при нажатии на кнопку сразу создать лид и его открыть,тут видимо будет запрос к API Битрикса и команда открытия этого лида...

Всего записей: 309 | Зарегистр. 21-01-2013 | Отправлено: 11:00 15-05-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SkyNetYar

Цитата:
Хорошо, а не подскажите на примере как вызвать в этой функции другую?  

в этой - в какой? как и в другом случае - функция();
 

Цитата:
тут видимо будет запрос к API Битрикса и команда открытия этого лида..

видимо есть URL это делающий

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 03:35 16-05-2017
SkyNetYar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Елки палки...
Вот такой код создаст лид с наименованием "TEST" в CRM  

Код:
$crmUrl = 'Адрес CRM'; // https://mycrm.bitrix24.ru/
$login = 'Ваш логин';
$password = 'Ваш пароль';
 
$arParams = array(
    'LOGIN' => $login, // обязательно, логин для доступа к crm
    'PASSWORD' => $password, // обязательно, пароль для доступа к crm
    'TITLE' => 'test' // обязательно, название лида
);
$obHttp = new CHTTP();
$result = $obHttp->Post($crmUrl.'crm/configs/import/lead.php', $arParams);
$result = json_decode(str_replace('\'', '"', $result), true);
echo '['.$result['error'].'] '.$result['error_message'];

Используется метод REST API Битрикса
Ну по сути мне надо тоже самое сделать в блоке  

Код:
 
t.push({
                        title: "Создать лид",
                        url: this.config.bitrix_domain + "/crm/lead/edit/0/?" + e
                    }),

Всего записей: 309 | Зарегистр. 21-01-2013 | Отправлено: 16:10 16-05-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SkyNetYar

Цитата:
Вот такой код создаст лид с наименованием "TEST" в CRM  

Создать POST запрос просто с помощью url нельзя.
 
Если же api ловит и get, то пробуйте

Цитата:
/crm/lead/config/import/lead.php
вместо

Цитата:
/crm/lead/edit/0/

Ну и елки-палкать не нужно, ибо это специфика битрикса, которая к теме по js не имеет отношения и я им не занимаюсь.

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 17:38 16-05-2017 | Исправлено: Mavrikii, 17:44 16-05-2017
SkyNetYar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну кстати пошел по этому методу и есть определенный прогресс..
Теперь я кнопкой создаю лид,передаю в него то что нужно!
Это уже прорыв.
Но мне бы хотелось переходить на этот созданный лид!
REST API возвращает JSON некоторые параметры таким макаром

Код:
{'error':'201','ID':'18202','error_message':'Лид добавлен','AUTH':'11bc63a3a64d79dbdcd5cf8e389526c'}

 
Где 'ID':'18202' это и есть id этого самого нового лида....
 
Открыть его можно было таким образом  
url: this.config.bitrix_domain + "/crm/lead/edit/18202/"
 
Но как получить этот json преобразовать и сразу сделать редирект на этот лид я не могу, не хватает опыта (

Всего записей: 309 | Зарегистр. 21-01-2013 | Отправлено: 16:03 18-05-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SkyNetYar
лучше такие вещи спрашивать в теме, где собираются использующие битрикс - они лучше знают особенности системы.
 
возможно нужно цеплять обработчик событию добавления, как и указали

Код:
.then(this.scheduleRequest.bind(this, "crm.lead.add", {})).then(function (t) {  
                        var e;  
                        if (e = +t, d.isNaN(e) || 0 >= e)  
                            throw new Error("Got invalid lead id: " + t);  
                        return e  
                    })

t, в данном случае, и есть id. нужно только понять когда срабатывает событие
Цитата:
crm.lead.add

вызвать его самостоятельно сами можете - https://training.bitrix24.com/rest_help/crm/leads/crm_lead_add.php
эти ньюансы не относятся к js, а относятся к работе битрикса, то есть к Кто имел дело с Bitrix?

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 01:38 19-05-2017
SkyNetYar



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Именно вот эта crm.lead.add срабатывает при пропущенном звонке, но это уже не столь важно потому как я по кнопке создаю лид, нужно лишь словить и редиректить, предложили использовать callback но что то не получается пока...
Там тема про битрикс тухлая,сейчас нет достойного форума на тему Битрикса нигде...
 
Мне надо что то типа
var res = JSON.parse(); из {'error':'201',''ID':'18117,'error_message':'Лид добавлен','AUTH':'f5e7f34d3b78f1964cb452cf835c40e'}
затем что то типа  
url: this.config.bitrix_domain + "/crm/lead/edit/" + res.ID
 
Это уже не Битрикс и не его API чистой воды javascript ,просто не хватает навыка правильно построить код..

Всего записей: 309 | Зарегистр. 21-01-2013 | Отправлено: 14:01 19-05-2017 | Исправлено: SkyNetYar, 16:28 19-05-2017
galleon2005



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извиняюсь, что не совсем по теме. Больше не нашел, куда написать.
Есть сайт с MIDI файлами, скачивание файлов реализовано на Javascript с таймером.
Как ни старался, не нашел прямых ссылок на файлы. Или это впринципе невозможно?
Пример файла:
https://www.cprato.com/en/midi/details/267/3lau-feat-bright-lights-how-you-love-me
 
Жмем Free download и попадаем на
https://www.cprato.com/en/midi/download/267/3lau-feat-bright-lights-how-you-love-me/MjAxNy0wNS0yNCAwOTo0NDozOA
 
ждем 5 секунд и файл скачивается. Сколько ни смотрел, ссылки найти не смог.

Всего записей: 219 | Зарегистр. 08-03-2006 | Отправлено: 10:45 24-05-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
galleon2005

Цитата:
Больше не нашел, куда написать.

в андерграунд, там занимаются обратным "инженерством" )
после капчи страница делает запрос сама к себе и выгружается midi файл вместо самой страницы.
по этой причине, к примеру, второй раз капчу проходить не нужно
 

Код:
document.getElementById("timer").innerHTML="The download of the midi is starting...";
location.href = '/en/midi/file/267/3lau-feat-bright-lights-how-you-love-me/MjAxNy0wNS0yNCAxOTo1MDozMg';
count = -1;
return;

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

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 20:43 24-05-2017 | Исправлено: Mavrikii, 20:53 24-05-2017
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытаюсь использовать MathJax.
Вопрос: почему так долго (несколько секунд) грузятся расширения?
 
Гружу так:

Код:
<script type="text/x-mathjax-config">
MathJax.Ajax.config.path["Extra"] = "[MathJax]/config/local";
MathJax.Hub.Register.StartupHook("TeX Jax Ready",function(){
    MathJax.Hub.Insert(
        MathJax.InputJax.TeX.Definitions.macros,
        {cancel:["Extension","cancel"],bcancel:["Extension","cancel"],xcancel:["Extension","cancel"],cancelto:["Extension","cancel"]}
    )
});
MathJax.Hub.Config({
    tex2jax: {
        inlineMath: [ ["$(","$)"], ["\\\\(","\\\\)"] ],
        processEscapes: true
    },
    extensions: ["[Extra]/physics/physics.js","[Extra]/siunitx/siunitx.js"]
});
</script>
<script src="путь_до_mathjax/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

 
И где можно найти описание всех "команд" TeX, поддерживаемых самим "ядром" MathJax и его расширениями.

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 03:39 17-08-2017 | Исправлено: unreal666, 03:42 17-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
"команд" TeX, поддерживаемых самим "ядром" MathJax и его расширениями.

http://docs.mathjax.org/en/latest/tex.html#supported-latex-commands
http://www.onemathematicalcat.org/MathJaxDocumentation/TeXSyntax.htm
 

Цитата:
почему так долго (несколько секунд) грузятся расширения?

F12, закладка сетевой активности и смотрите что, откуда и как грузится

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 04:13 17-08-2017
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
F12, закладка сетевой активности и смотрите что, откуда и как грузится

Немного неправильно выразился. Под "грузятся" понимается "обрабатываются" MathJax'ом.
Грузятся они локально по протоколу file:// .
Т.е. при загрузке страницы в левом нижнем углу MathJax отображает загрузку текущих расширений. И обработка этих 2-ух указанных расширений у меня происходит где-то секунд 17.
Притом что сам MathJax без расширений вместе со шрифтами грузится+выполняется секунд за 1-1,5.

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 05:12 17-08-2017 | Исправлено: unreal666, 05:13 17-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666
тогда выкладывайте кусок в архиве, чтобы можно было глянуть что и как.
siunitx.dtx больше 600 кб, возможно js обрабатывает его при инициилизации, поэтому так медленно.

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 05:17 17-08-2017 | Исправлено: Mavrikii, 05:20 17-08-2017
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну мой вариант не прокатит. Сделал упрощенный - https://yadi.sk/d/lKVzpU1c3M5csy.
Там в папке mathjax должен быть сам mathjax, скачанный с github. Его я не стал пихать, т.к. он большой по размеру.
В папке mathjax\config\local лежат расширения из репозитория https://github.com/ickc/MathJax-third-party-extensions.
 
Добавлено:
Никакого siunitx.dtx там нет.
И, кстати, если оставить только расширение physics, то все равно долго обрабатывается, хоть и меньше.

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 06:20 17-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
И, кстати, если оставить только расширение physics, то все равно долго обрабатывается, хоть и меньше.

потому, что  

Цитата:
File failed to load: file:///путь/config/local/physics/physics.js
File failed to load: file:///путь/config/local/siunitx/siunitx.js

надо разобраться в чем дело и чего не хватает. файлы есть, загружаются (alert из них срабатывает), значит при инициализации какая то проблема возникает.
 

Цитата:
Никакого siunitx.dtx там нет.

это я посмотрел на теховский пакет, думал напрямую обрабатывает, а не имитирует

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 06:59 17-08-2017 | Исправлено: Mavrikii, 07:00 17-08-2017
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у меня без ошибок. Только когда упрощал html-файл - один раз вылезло и все... после нормально.

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 07:13 17-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
unreal666

Цитата:
у меня без ошибок

ошибки сами не выводятся (только при загрузке внизу слева появляется быстро сообщение)
можно увидеть в консоли браузера через  
MathJax.Message.Log()
 
все говорит о том, что он не не понимает что написано в .js файле. возможно там используется устаревшая конструкция, не работающая с новой версией mathjax
 
Добавлено:
Ок, понял в чем дело.
смотрите конец physics.js и siunits.js
к примеру

Цитата:
MathJax.Ajax.loadComplete("[Contrib]/physics/physics.js");

движок ожидает подтверждения загрузки модуля сравнивая начальную строку и выдаваему через loadComplete. у вас они разные, грузите через
Цитата:
[Extra]/physics/physics.js
, а получает в ответ
Цитата:
[Contrib]/physics/physics.js
. Ждет долгое время, считает, что модуль не загрузился.

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 07:19 17-08-2017 | Исправлено: Mavrikii, 07:36 17-08-2017
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ошибки сами не выводятся (только при загрузке внизу слева появляется быстро сообщение)  
 

так я про это и говорю. Только один раз такое было.

Цитата:
можно увидеть в консоли браузера через  
MathJax.Message.Log()  

результат:

Код:
"
Loading [MathJax]/config/TeX-AMS-MML_HTMLorMML.js
Loading [MathJax]/jax/output/HTML-CSS/jax.js
Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js
Loading web-font TeX/Main/Regular
Loading web-font TeX/Math/Italic
Loading web-font TeX/Size3/Regular"

 
Добавлено:
и тестовый пример для siunitx рендерится нормально.
 
Добавлено:
Хотя...
Изменил  

Код:
MathJax.Ajax.config.path["Extra"] = "[MathJax]/config/local";  

на

Код:
MathJax.Ajax.config.path["Extra"] = MathJax.Ajax.config.path["Contrib"] = "[MathJax]/config/local";  

И стало грузиться быстро. Спасибо за подсказку.
 
 
Добавлено:
Еще посматриваю в сторону KaTeX

Всего записей: 6678 | Зарегистр. 14-02-2005 | Отправлено: 07:45 17-08-2017
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
и тестовый пример для siunitx рендерится нормально.  

у вас значит модуль был еще по путям, которые движок проверяет в случае фейла. в архиве же не все, вот он и запинался - ждал подтверждения из одного места, потом грузил из другого (из папки extensions, скорее всего)

Всего записей: 16612 | Зарегистр. 20-09-2014 | Отправлено: 07:51 17-08-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru