Не правильно работает проверка. JS
|
|
last2424 | Дата: Четверг, 18 Февраля 2016, 17:32 | Сообщение # 1 |
30 мл. блоков
Сейчас нет на сайте
| Есть вот этот код:
Код if(autoplay){ spliting2[0] = "autoplay=1"; console.log(spliting2[0]); }else{ spliting2[0] = "autoplay=0"; console.log(spliting2[0]); } Если autoplay равен true, то верно срабатывает код после первого условия, но если autoplay равен false, всё-равно срабатывает код после первого условия(if(autoplay)); Если написать autoplay == true, то работает наоборот при обоих значениях срабатывает только код после else. Помогите пожалуйста, очень надо.
Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
Сообщение отредактировал last2424 - Четверг, 18 Февраля 2016, 17:42 |
|
| |
Vostrugin | Дата: Четверг, 18 Февраля 2016, 17:41 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| last2424, приведённый код правильный. Ищите ошибку в другом месте. Как проверяете какое условие выполнилось, console.log?
|
|
| |
last2424 | Дата: Четверг, 18 Февраля 2016, 17:43 | Сообщение # 3 |
30 мл. блоков
Сейчас нет на сайте
| Vostrugin, да, вытаскиваю данные из куков и туда же их сохраняю при нажатие на кнопку, проверял даже, верные значения в переменных выводил, но условие работать ни в какую не хочет. Вот полный код:
Код window.onload = init;
var autoplay = getCookie("getAutoplay"); var policy = getCookie("getPolicy"); var color = getCookie("getColor"); var srcVideo;
function init() { srcVideo = document.getElementById("ytplayer").src; var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); if(autoplay){ spliting2[0] = "autoplay=1"; console.log(spliting2[0]); }else{ spliting2[0] = "autoplay=0"; console.log(spliting2[0]); } var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; console.log(url); document.getElementById("ytplayer").src = url; }
function setAutoplay() { var dateInt = new Date('December 17, 3000 03:24:00'); autoplay = !autoplay; /*if(autoplay == true){ var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); spliting2[0] = "autoplay=1"; console.log(spliting2); var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; document.getElementById("ytplayer").src = url; } if(autoplay == false){ var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); spliting2[0] = "autoplay=0"; console.log(spliting2); var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; document.getElementById("ytplayer").src = url; }*/ document.cookie = "getAutoplay="+autoplay+"; expires="+dateInt+";"; console.log(autoplay); }
function setPolicy() { var dateInt = new Date('December 17, 3000 03:24:00'); policy = !policy; /*if(policy == true){ var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); spliting2[3] = "iv_load_policy=1"; console.log(spliting2); var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; document.getElementById("ytplayer").src = url; } if(policy == false){ var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); spliting2[3] = "iv_load_policy=3"; console.log(spliting2); var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; document.getElementById("ytplayer").src = url; }*/ document.cookie = "getPolicy="+policy+"; expires="+dateInt+";"; console.log(policy); }
function setColor() { dateInt = new Date('December 17, 3000 03:24:00'); color = !color; /*if(color == true){ var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); spliting2[6] = "color=red"; console.log(spliting2); var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; document.getElementById("ytplayer").src = url; } if(color == false){ var spliting = srcVideo.split("?"); var spliting2 = spliting[1].split("&"); spliting2[6] = "color=white"; console.log(spliting2); var url = spliting[0] + "?" + spliting2[0] + "&" + spliting2[1] + "&" + spliting2[2] + "&" + spliting2[3] + "&" + spliting2[4] + "&" + spliting2[5] + "&" + spliting2[6]; document.getElementById("ytplayer").src = url; }*/ document.cookie = "getColor="+color+"; expires="+dateInt+";"; console.log(color); }
function getCookie(name) { var matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : undefined; }
Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
Сообщение отредактировал last2424 - Четверг, 18 Февраля 2016, 17:43 |
|
| |
YellowAfterlife | Дата: Четверг, 18 Февраля 2016, 17:55 | Сообщение # 4 |
Сейчас нет на сайте
| Цитата last2424 ( ) Vostrugin, да, вытаскиваю данные из куков и туда же их сохраняю при нажатие на кнопку, проверял даже, верные значения в переменных выводил, но условие работать ни в какую не хочет. Вот полный код: getCookie возвращает строку или undefined. Сравнивать как autoplay == "true", или же переводить в булевую форму на стадии чтения cookie.
|
|
| |
Vostrugin | Дата: Четверг, 18 Февраля 2016, 17:55 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| last2424, getCookie("getAutoplay") какое значение вернёт? Дело в том, что вы проверяете autoplay предполагая что там будет boolen тип. Если getCookie возвращает текст, то сделайте так Код var autoplay = getCookie("getAutoplay") == "true"
|
|
| |
last2424 | Дата: Четверг, 18 Февраля 2016, 18:02 | Сообщение # 6 |
30 мл. блоков
Сейчас нет на сайте
| YellowAfterlife, Vostrugin, Огромное вам человеческое спасибо.
Предупреждение: всё что я написал в зачёркнутом виде является шуткой и никак не пытает обидеть того к кому обращаются.(нет)
|
|
| |