Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.06.2017, 14:43
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Открыть последовательно два URL
Добрый день!
Имеется в браузерном расширении такая конструкция:

t.push({
						title: "Записать лид",
						url: this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=lolita&PASSWORD=ololoshka&TITLE="+ encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")"+"&PHONE_WORK="+ encodeURIComponent(this.call.entityPhone)+"&SOURCE_ID="+ encodeURIComponent(this.call.source) +"",
                        url: this.config.bitrix_domain + "/search/?q=" + this.call.entityPhone 
					}),


В данной конструкции срабатывает только второй URL а первый куда то проглатывается, нужно открыть сперва один затем другой, первый можно и в фоне открыть...

Подскажите как не догоняю =(
Ответить с цитированием
  #2 (permalink)  
Старый 23.06.2017, 21:40
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Второй же затирает первый…
Ответить с цитированием
  #3 (permalink)  
Старый 26.06.2017, 11:50
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Сообщение от Paguo-86PK Посмотреть сообщение
Второй же затирает первый…
Ну это я и пытался сказать! А вот как сделать мне так что бы не затирался? Сперва по первому переходил затем 2-й открывал! можно даже первый url в фоне.
Ответить с цитированием
  #4 (permalink)  
Старый 26.06.2017, 11:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SkyNetYar
А вот как сделать мне так что бы не затирался?
Объект не может иметь два свойства с одинаковыми именами.
Ответить с цитированием
  #5 (permalink)  
Старый 26.06.2017, 13:53
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Сообщение от laimas Посмотреть сообщение
Объект не может иметь два свойства с одинаковыми именами.
Спасибо за ответ! Может ссылкой кинете в меня или намекнете как мне поочередное открытие этих ссылок сделать?
Ответить с цитированием
  #6 (permalink)  
Старый 26.06.2017, 14:05
Аватар для EmperioAf
Профессор
Отправить личное сообщение для EmperioAf Посмотреть профиль Найти все сообщения от EmperioAf
 
Регистрация: 15.01.2015
Сообщений: 622

SkyNetYar,
Из приведенного кода не совсем понятно что за массив t, и каким образом потом делаются запросы, но с 2-мя запросами код вероятно выглядеть будет так
t.push({
    title: "Записать лид",
    url: this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=lolita&PASSWORD=ololoshka&TITLE=" + encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")" + "&PHONE_WORK=" + encodeURIComponent(this.call.entityPhone) + "&SOURCE_ID=" + encodeURIComponent(this.call.source) + ""
}),
t.push({
    title: "Сделать поиск по телефону",
    url: this.config.bitrix_domain + "/search/?q=" + this.call.entityPhone
}),

Последний раз редактировалось EmperioAf, 26.06.2017 в 14:07.
Ответить с цитированием
  #7 (permalink)  
Старый 26.06.2017, 14:06
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SkyNetYar
как мне поочередное открытие этих ссылок сделать?
В чем?

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

В JS нет ассоциативных массивов, но есть объекты, в которых свойства подчинены тем же правилам, что и ключи в ассоциативном массиве. Объект

{url: 'url1', url: 'url2'}


будет содержать не два свойства url с разными значениями, а одно - {url: 'url2'}.

Хотите поместить в свой объект два URL, значит поместите их в свойство url как массив:

t.push({
                        title: "Записать лид",
                        url: [this.config.bitrix_domain + "/crm/configs/import/lead.php?LOGIN=lolita&PASSWORD=ololoshka&TITLE="+ encodeURIComponent(this.call.source) + " " + "(" + encodeURIComponent(this.call.entityPhone) + ")"+"&PHONE_WORK="+ encodeURIComponent(this.call.entityPhone)+"&SOURCE_ID="+ encodeURIComponent(this.call.source) +"",
                        this.config.bitrix_domain + "/search/?q=" + this.call.entityPhone
                    ]})


а уж кто их выводит и может ли оперировать массивом у свойства, этого я не ведаю.
Ответить с цитированием
  #8 (permalink)  
Старый 26.06.2017, 14:45
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Сообщение от EmperioAf Посмотреть сообщение
SkyNetYar,
Из приведенного кода не совсем понятно что за массив t, и каким образом потом делаются запросы, но с 2-мя запросами код вероятно выглядеть будет так
Это будет 2 разных кнопки!



laimas Спасибо за развернутый ответ, в предложенном Вами варианте открывается первая ссылка ,и через запятую в стоке адреса второй url ,естественно нужного результата нет...

Дело все в том что я не могу спарсить ответ от Битрикс API который отдает такой ответ по первой ссылке

{'error':'201','ID':'18595','error_message':'Ли добавлен','AUTH':'dd0f24bd8df53ebf7bcf69a1 8a0c1a8a'}

На белом экране,мне надо спарсить его и взять ID тоесть в данном случае 18595 и затем уже открыть ссылку вида
this.config.bitrix_domain + "/crm/lead/edit/18595/"

Подсказали типа так
var responsedata = eval("(" + Request.responseText + ")")

Но я ума не приложу как этот код туда приспособить...
Ответить с цитированием
  #9 (permalink)  
Старый 26.06.2017, 15:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от SkyNetYar
в предложенном Вами варианте открывается первая ссылка ,и через запятую в стоке адреса второй url
Это массив описывающий два параметра свойства url объекта, а не ссылка, которую нужно пихать куда либо. Если нужно обратиться по этим ссылкам, то первая доступна будет как t[индекс массива, коли у вас это push()].url[0], а вторая t[индекс].url[1]. А уж кто, где и когда получает их, и главное предусмотрено ли это вашим сценарием, этого я не знаю.

Поэтому по данному вопросу ответить невозможно, как и бог знает причем тут eval("(" + Request.responseText + ")").
Ответить с цитированием
  #10 (permalink)  
Старый 26.06.2017, 15:20
Аспирант
Отправить личное сообщение для SkyNetYar Посмотреть профиль Найти все сообщения от SkyNetYar
 
Регистрация: 14.04.2017
Сообщений: 32

Не совсем понимаю,ну я уже не знаю как изгалится что бы открыться эти 2 ссылки одним нажатием поочередно или одновременно !? это вообще возможно каким либо способом?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открыть нужную форму по параметрам из URL potkin ExtJS 3 05.06.2017 15:54
открыть два окна . ww3 Events/DOM/Window 3 03.12.2014 23:22
Динамическое создание iframe в Firefox mrbean11 Firefox/Mozilla 8 02.11.2012 21:23
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11
Открыть URL и выполнить скрипт Asdvin Events/DOM/Window 5 28.12.2008 19:53