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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

Mavrikii

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

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

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

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



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

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

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

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

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

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

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

Всего записей: 15040 | Зарегистр. 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
                    }),

Всего записей: 290 | Зарегистр. 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 не имеет отношения и я им не занимаюсь.

Всего записей: 15040 | Зарегистр. 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 преобразовать и сразу сделать редирект на этот лид я не могу, не хватает опыта (

Всего записей: 290 | Зарегистр. 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?

Всего записей: 15040 | Зарегистр. 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 ,просто не хватает навыка правильно построить код..

Всего записей: 290 | Зарегистр. 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 сессию, после первого обращения перекидывает на основную страницу, откуда ведет ссылка с правой частью, считает это как второй заход и отображает страницу с капчей. если она пройдена заранее или пройдена сейчас, то обновляет страницу, скрипт считает это третьим заходом и выдает файл. после этого снова считает заходы с нуля.

Всего записей: 15040 | Зарегистр. 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 и его расширениями.

Всего записей: 6637 | Зарегистр. 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, закладка сетевой активности и смотрите что, откуда и как грузится

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



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

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

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

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

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

Всего записей: 15040 | Зарегистр. 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, то все равно долго обрабатывается, хоть и меньше.

Всего записей: 6637 | Зарегистр. 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 там нет.

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

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



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

Всего записей: 6637 | Зарегистр. 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
. Ждет долгое время, считает, что модуль не загрузился.

Всего записей: 15040 | Зарегистр. 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

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

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

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

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

Всего записей: 15040 | Зарегистр. 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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru