Почему не работает js в IE?
Столкнулся с проблемой в IE не хочет работать скрипт и еще как как добавить 0 к часам например нужно до 01:01:01 а выводит 1:1:1
var countDownDate = new Date("02,07,2019,23:01:00 GMT+03:00").getTime(); var x = setInterval(function() { var now = new Date().getTime(); var distance = countDownDate - now; var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("conf_time").innerHTML = "начало через : " + hours + ":" + minutes + ":" + seconds; if (distance < 0) { clearInterval(x); document.getElementById("conf_time").innerHTML = "мероприятие уже проходит"; } }, 1000); |
bridun,
<div id="conf_time"></div> <script> var countDownDate = new Date("02/18/2019 23:01:00 GMT+0300").getTime(); function two(num) { return (num <= 9 ? "0" : "")+ num } var x = setInterval(function() { var now = new Date().getTime(); var distance = countDownDate - now; var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var seconds = Math.floor((distance % (1000 * 60)) / 1000); document.getElementById("conf_time").innerHTML = "начало через : " + two(hours) + ":" + two(minutes) + ":" + two(seconds); if (distance < 0) { clearInterval(x); document.getElementById("conf_time").innerHTML = "мероприятие уже проходит"; } }, 1000); </script> |
Приветствую вас, господа программисты.
Учу JS по книжке. Почему-то не могу в IE задать переменную с помощью let и const, а только через var. Так же не выводятся алертом вещи типа `текст ${переменная} текст`. Прошу подсказать, если кто-то с подобным сталкивался. п.с.: думал, может, эксплорер старый установлен, загрузил последнюю версию - то же самое. |
Что вы называете IE и что вы называете "последней версией"?
В ИЕ11 шаблонные строки `${}` действительно не реализованы. Но в Edge должны быть Но let в ИЕ11 вроде был |
Добрый вечер.
Internet Explorer. Думал, что ставлю 11, оказалось, что он 10-й. К сожалению, с let и const не работает, только var. Возможно, проблема из-за Windows, который давно не обновлялся. Попробую завтра let на новом компьютере, этого года. Благодарю Вас за информацию. С уважением. |
А почему не Netscape Navigator?
|
потому что я таких слов не знаю :)
да, на новом компе и let, и const работают. Надо железяку чинить :D |
Цитата:
Netscape Navigator - это браузер, который первым почил в бозе. ;) |
понятно, спасибо
|
Цитата:
|
в общем, можно с помощью webpack или parcel или других сборщиков проекта, транспилировать современный (es5-6 и т.д.) для поддержки более старых версий браузеров... т.е. пишем на современном js и говорим для какой версии js мы хотим получить итоговый js файл )... возможно придется обложиться полифилами...
|
Не все возможно.
Proxy - нет. mutationObserver - нет WeakMap - написано, что есть, но сомневаюсь, что это реальная работа, а не имитация. Не говоря уж о тех возможностях, которые не в самом языке, а в API, HTML, CSS |
API еще как-то понять можно, но HTML, CSS ))
https://github.com/GoogleChrome/proxy-polyfill#support https://github.com/bitovi/mutationob...tationobserver https://github.com/ungap/weakmap Пить я буду, но курить не брошу ) |
Цитата:
Цитата:
let ar =[] let handl = { get: function (tg, name) { let v = tg[name] console.log('get', name, v) return v; }, set: function (tg, name, val) { console.log('set', name, val) tg[name] = val; return true; } } let par = new Proxy (ar, handl) par[0] = 0; par[1] = 1; par.push (2) Цитата:
function ocopy (os) { return Object.create(os.__proto__, Object.getOwnPropertyDescriptors(os)) } let wm = new WeakMap(); let obj1 ={a: 1, b:2}; wm.set(wm, {c:2,d:3}) let obj2 = ocopy(obj1) wm.has(obj2) // TRUE ??? Я не говорю, что они не нужны. Но Цитата:
Цитата:
|
)) аще по и на, пусть дэвид блэйн и пишет
|
Часовой пояс GMT +3, время: 15:43. |