Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript循环浏览服务器端HTML_Javascript_Jquery_Html_Arrays_Iframe - Fatal编程技术网

使用JavaScript循环浏览服务器端HTML

使用JavaScript循环浏览服务器端HTML,javascript,jquery,html,arrays,iframe,Javascript,Jquery,Html,Arrays,Iframe,我工作的公司正在寻找一种方法来部署一个有效、管理开销最小的数字看板解决方案。这意味着一个隐藏的光标和一种“设置它,忘记它”的心态。我已经有了一个Linux盒设置,Chrome在全屏隐姓埋名模式下工作。我有一个全屏HTML“大型机”,它包含了内部框架,从我们的服务器中提取HTML页面,每个页面显示20秒。将一个小图像设置为加载,如果图像无法加载,例如网络关闭,则帧源将通过JavaScript更改为本地错误页面,而不是Chrome内置的可怕恐龙(这也只在一半的时间内有效,不确定原因)。我有以下代码在

我工作的公司正在寻找一种方法来部署一个有效、管理开销最小的数字看板解决方案。这意味着一个隐藏的光标和一种“设置它,忘记它”的心态。我已经有了一个Linux盒设置,Chrome在全屏隐姓埋名模式下工作。我有一个全屏HTML“大型机”,它包含了内部框架,从我们的服务器中提取HTML页面,每个页面显示20秒。将一个小图像设置为加载,如果图像无法加载,例如网络关闭,则帧源将通过JavaScript更改为本地错误页面,而不是Chrome内置的可怕恐龙(这也只在一半的时间内有效,不确定原因)。我有以下代码在服务器上的多个HTML页面之间循环,并在屏幕上显示,每个页面都有显示时间限制。问题是,每次我们想在显示队列的屏幕上添加另一个页面时,我们必须手动进入该代码并添加另一个链接。我不知道该怎么做,但我希望我们只需将页面添加到服务器上的一个目录中(比如屏幕1),让JavaScript自动循环,改变帧源(DISPLAY1.html、DISPLAY2.html、DISPLAY3.html,然后返回开始并重复)。使用此解决方案,屏幕不需要管理,屏幕将根据服务器文件夹中的文件数量动态调整需要循环的文件数量。我们完全可以控制服务器上文件的命名,因此可以连续编号。非常感谢您的帮助,谢谢


HTML刷新程序
变量破折号={
下一个索引:0,
仪表盘:[
//-----------------------------------------------------------------
//格式:“{URL:\u页面的URL\u”,时间:时间(以秒为单位)},”
//以秒为单位的时间结束后,移动到下一行
//--------------------仅在以下行中更改--------------------
{url:“http://server/INSERTHTML1HERE“,时间:20},
{url:“http://server/INSERTHTML2HERE“,时间:20},
{url:“http://server/INSERTHTML3HERE“,时间:20},
//--------------------只改变上面的行--------------------
{url:“关于:空白”,时间:0.1}
],
显示:函数()
{
var dashboard=Dash.dashboards[Dash.nextIndex];
如果(Dash.nextIndex>=(Dash.dashboards.length-1)){
location.reload();
}
frames[“displayArea”].location.href=dashboard.url+“?key=value&ie=“+(新日期()).getTime();
var errorimage=新图像();
errorimage.src=http://server/errorpages/images/1x1.png?key=value&ie=“+(新日期()).getTime();
errorimage.onerror=函数(){
帧[“displayArea”]。location.href=null;
frames[“displayArea”].location.href='localerror.html';
}
errorimage=null;
Dash.nextIndex=(Dash.nextIndex+1)%Dash.dashboards.length;
设置超时(Dash.display,dashboard.time*1000);
}
};
window.onload=Dash.display;
*{游标:无;}
您的浏览器不支持iFrame

您可以使用AJAX从服务器获取所有文件的列表,并从中更新阵列。另一种方法是在幻灯片html中使用元重定向来推进它,这样您甚至不需要JS或iframe,您可以编辑内容的延迟。只需对现有内容进行最小更改:您可以添加一个包含页面数的url参数,并滚动页面数,使用该数字生成url字符串。我目前正在研究Barmar提出的解决方案。Dandavis,你的建议很好,但我无法轻松编辑内容,因为它是从我无权访问的Excel电子表格动态生成的。Julien,您的建议也很好,尽管这需要我根据服务器上任何给定时间的文件数更新客户端HTML。同时,除了客户端onerror映像代码之外,服务器端是否能更好地实现所有这些功能?