Почему не работает 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, время: 02:07. |