Прокрутка нескольких HTML-страниц с помощью javascript

118
7

У меня есть следующий HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Dashboard Example</title>
<style type="text/css">
body, html { margin: 0; padding: 0; width: 100%; height: 100%; overflow: hidden; }
iframe { border: none; }
</style>
<script type="text/javascript">
var Dash = {
nextIndex: 0,

dashboards: [
{url: "C:\CarPositionBrisbane.HTML", time: 5},
{url: "C:\CarPositionCaboolture.HTML", time: 5},
{url: "C:\CarPositionLogan.HTML", time: 5},
{url: "C:\CarPositionWarwick.HTML", time: 5},
{url: "C:\CarPositionHobart.HTML", time: 5},
{url: "C:\CarPositionToowoomba.HTML", time: 5},
{url: "C:\CarPositionIpswich.HTML", time: 5},
{url: "C:\CarPositionYeppoon.HTML", time: 5},

],

display: function()
{
var dashboard = Dash.dashboards[Dash.nextIndex];
frames["displayArea"].location.href = dashboard.url;
Dash.nextIndex = (Dash.nextIndex + 1) % Dash.dashboards.length;
setTimeout(Dash.display, dashboard.time * 1000);
}
};

window.onload = Dash.display;
</script>
</head>
<body>
<iframe name="displayArea" width="100%" height="100%"></iframe>
</body>
</html>

Он отлично работает в google chrome, но мне нужно заставить его работать в IE8, потому что он должен работать на компьютере XP.

когда я запускаю следующий код в IE, я просто получаю пустой экран.

какие-либо предложения??

спросил(а) 2021-01-19T19:41:04+03:00 6 месяцев, 2 недели назад
1
Решение
63

У вас есть конечная запятая в вашем списке панелей. Все версии IE анализируют JavaScript очень строго и не допускают запятые в списках и объектах.

Очень эффективным способом проверки исходного кода JavaScript является использование JSHint, который сообщает об ошибках такого рода.

Вам необходимо исправить следующую часть кода:

// quoting of the "\" in the URLs fixed.
dashboards: [
{url: "C:\\CarPositionBrisbane.HTML", time: 5},
{url: "C:\\CarPositionCaboolture.HTML", time: 5},
{url: "C:\\CarPositionLogan.HTML", time: 5},
{url: "C:\\CarPositionWarwick.HTML", time: 5},
{url: "C:\\CarPositionHobart.HTML", time: 5},
{url: "C:\\CarPositionToowoomba.HTML", time: 5},
{url: "C:\\CarPositionIpswich.HTML", time: 5},
{url: "C:\\CarPositionYeppoon.HTML", time: 5} // <--- comma removed
],

window.onload не работает в IE8: не работает window.onload в IE8

Я бы рекомендовал вам использовать jQuery или любую другую библиотеку JavaScript, которая обрабатывает такие различия браузера. С jQuery это так же просто, как писать.

$(function() {
// insert code here that should be run when the document is ready.
});

ответил(а) 2021-01-19T19:41:04+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема