Скрипт работает только в FireFox
Добрый день, столкнулся с проблемой, что написанный скрипт корректно работает только в браузере FireFox.
В IE, Chrome не работает.
С чем это может быть связанно?
Если есть какие либо решения подскажите пожалуйста.
Можно исправлять прямо в скрипте представленном ниже.
Если не верно оформлено сообщение, то извините, первый раз обращаюсь.
Содержимое файла 3.html:
<?xml version="1.0" encoding="UTF-8"?>
<!--
Лабораторная работа №3
-->
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Лабораторная работа №3</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta charset="UTF-8" />
</head>
<body onunload = "exit()">
<h1>Лабораторная работа №3</h1>
<div id="msg"></div>
<script src="3.js"></script>
</body>
</html>
Содержимое файла 3.js:
/*
* Лабораторная работа №3.
*/
function getCookie(name)
{
let matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
var newLoadTime = new Date();
var s = getCookie('visitTime');
var visitTime = s && s !== "NaN"? Number.parseInt(s): 0;
s = getCookie('visitCounter');
var visitCounter = s? Number.parseInt(s): 0;
var msg = document.getElementById("msg");
if(visitCounter && visitTime)
{
var aver = Math.round(visitTime / visitCounter),
min = Math.trunc(aver / 60000),
sec = Math.trunc(aver % 60000 / 1000);
msg.innerHTML = "Среднее время Вашего присутствия на нашей странице "
+ min + " мин. " + sec + " сек.";
}
else msg.innerHTML = "Дорогой пользователь! \n\
Мы рады приветствовать Вас на нашей станице!";
function exit()
{
var newUnloadTime = new Date();
visitTime = visitTime + (newUnloadTime - newLoadTime);
visitCounter = visitCounter + 1;
document.cookie = "visitTime=" + visitTime + "; max-age=180";
document.cookie = "visitCounter="
+ visitCounter + "; max-age=180";
}
|