简体   繁体   English

使用javascript滚动浏览多个HTML页面

[英]Scroll through multiple HTML pages with javascript

I have the following HTML: 我有以下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>

It works perfectly in google chrome, but i need to get it working in IE8, because it needs to work on a XP machine. 它在谷歌浏览器中完美运行,但是我需要在IE8中运行它,因为它需要在XP机器上工作。

when i run the following code into IE, i just get a blank screen. 当我将以下代码运行到IE中时,我只是得到一个空白屏幕。

any suggestions?? 有什么建议么??

You have a trailing comma in your list of dashboards. 仪表板列表中的逗号结尾。 All IE versions parse JavaScript very strict and don not allow trailing commas in lists and objects. 所有IE版本都非常严格地解析JavaScript,并且不允许在列表和对象中使用逗号结尾。

A very effective way of checking your JavaScript source code is the use of JSHint which reports such kind errors. 检查您的JavaScript源代码的一种非常有效的方法是使用JSHint来报告此类错误。

You need to fix the following part of the code: 您需要修复代码的以下部分:

// 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 does not work in IE8: Does not work window.onload in IE8 在IE8中window.onload不起作用:在IE8中不起作用window.onload

I would recommend you to use jQuery or any other JavaScript library which handles such browser differences. 我建议您使用jQuery或任何其他处理此类浏览器差异的JavaScript库。 With jQuery it is as simple as writing. 使用jQuery,就像编写一样简单。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM