我正在尝试使用excel发布的图像创建幻灯片。从文件直接打开时,图像工作正常。导航到http://localhost或从IIS设置浏览时,这些图像均不起作用。请参见下面的代码。我已经呆了几个小时了,似乎找不到解决方法。
<html>
<head>
<title>SHL Dashboard</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta http-equiv="refresh" content="35;url=default.html">
<style>
/* Change body background-color to change fade out color. */
body.siteshow { margin:0; padding:0; background-color:#FFFFFF; }
#menu
{
font-family:Arial;
font-size:9pt;
display:none;
opacity:0.00;
-mozopacity:0.00;
filter:alpha(opacity=0);
position:absolute;
top:10px;
left:10px;
padding:5px;
background-color:#000000;
color:#FFFFFF;
border:3px dotted #999999;
}
#menu a { color:#ffffff; }
#menu a:hover { text-decoration:none; }
#title { font-size:11pt; font-weight:bold; letter-spacing:2; }
#slides { font-size:9pt; line-height:16pt; }
.button { width:60px; font-size:9pt; letter-spacing:1; }
</style>
<script type="text/javascript">
var current_idx = 0;
var slides = new Array();
var menuwin;
var show_timer;
var menu_timer;
var menu;
var content;
var loaded = true;
// Define your "slides". 3 values for each are:
// 1. Duration in seconds.
// 2. Title to be used in menu.
// 3. Source URL. Can be full URI or a relative URL.
slides[1] = new Array(5, "Announcement 1", "C:/Website/shldash.com/wwwroot/Announcement_1.htm");
slides[2] = new Array(5, "Announcement 2", "C:/Website/shldash.com/wwwroot/Announcement_2.htm");
slides[3] = new Array(5, "Announcement 3", "C:/Website/shldash.com/wwwroot/Announcement_3.htm");
slides[4] = new Array(5, "Announcement 4", "C:/Website/shldash.com/wwwroot/Announcement_4.htm");
slides[5] = new Array(5, "Cust and Vis info", "C:/Website/shldash.com/wwwroot/Cust%20and%20Vis%20Info.htm");
slides[6] = new Array(5, "SHL Logo", "C:/Website/shldash.com/wwwroot/Dash_Logo.htm");
slides[7] = new Array(5, "Job info", "C:/Website/shldash.com/wwwroot/Job%20Openings.htm");
function xMenuInit()
{
var html = "";
for(idx=1; idx<slides.length; idx++) {
html += '<a href="javascript:Navigate('+idx+')">' +
slides[idx][1] + "</a><br />\n";
}
document.getElementById("slides").innerHTML = html;
menu.style.display = "block";
}
function xMenuShow()
{
clearTimeout(menu_timer);
opacity('menu', 0, 90, 500);
menu_timer = setTimeout("MenuHide()", 3500);
}
function MenuHide()
{
opacity('menu', 90, 0, 500);
}
function Pause()
{
clearTimeout(show_timer);
document.getElementById('play').style.display = "block";
document.getElementById('pause').style.display = "none";
}
function Navigate(slide_idx)
{
clearTimeout(show_timer);
if (current_idx == 0) {
if (!slide_idx) { slide_idx = 1; }
current_idx = slide_idx;
content.src = slides[current_idx][2];
document.getElementById('play').style.display = "none";
document.getElementById('pause').style.display = "block";
show_timer = setTimeout("Navigate()", slides[current_idx][0]*1000);
return;
}
if (slide_idx) {
current_idx = slide_idx;
content.src = slides[current_idx][2];
document.getElementById('play').style.display = "block";
document.getElementById('pause').style.display = "none";
return;
}
loaded = false;
current_idx++;
if ( current_idx == slides.length) { current_idx = 1; }
opacity('content', 100, 0, 500);
document.getElementById('play').style.display = "none";
document.getElementById('pause').style.display = "block";
show_timer = setTimeout("Navigate()", slides[current_idx][0]*1000);
return;
}
function opacity(id, opacStart, opacEnd, millisec)
{
//speed for each frame
var speed = Math.round(millisec / 100);
var timer = 0;
//determine the direction for the blending, if start and end are the same nothing happens
if(opacStart > opacEnd) {
for(i = opacStart; i >= opacEnd; i--) {
setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
timer++;
}
if (opacEnd == 0) { setTimeout("FadeOutTrigger('"+id+"')",((timer-1) * speed));; }
//if (opacEnd == 0) { FadeOutTrigger(id); }
} else if(opacStart < opacEnd) {
if (opacStart == 0) { FadeInTrigger(id); }
for(i = opacStart; i <= opacEnd; i++)
{
setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
timer++;
}
}
}
//change the opacity for different browsers
function changeOpac(opacity, id)
{
var object = document.getElementById(id).style;
object.opacity = (opacity / 100);
object.MozOpacity = (opacity / 100);
object.KhtmlOpacity = (opacity / 100);
object.filter = "alpha(opacity=" + opacity + ")";
}
function FadeOutTrigger(id)
{
//alert('FadeOut: '+id);
switch(id) {
case "menu":
document.getElementById(id).style.display = "none";
break;
case "content":
content.src = slides[current_idx][2];
//setTimeout("opacity('content', 0, 100, 500)", 1000);
break;
default:
break;
}
}
function FadeInTrigger(id)
{
//alert('FadeIn: '+id);
switch(id) {
case "menu":
document.getElementById(id).style.display = "block";
break;
case "content":
//opacity('content', 0, 100, 500);
break;
default:
break;
}
}
function FadeInContent()
{
if (!loaded) {
opacity('content', 0, 100, 500);
loaded = true;
}
}
function LoadTrigger()
{
//self.resizeTo(1366,768);
menu = document.getElementById('menu');
content = document.getElementById('content');
Navigate();
MenuInit();
MenuShow();
}
window.onload = LoadTrigger;
</script>
</head>
<body class="siteshow">
<iframe id="content" name="content" style="width:100%; height:100%;" frameborder="no" scrolling="auto" src="" onmouseover="MenuShow();" onload="FadeInContent();" ></iframe>
<div id="menu">
<div id="title">SiteShow Menu</div>
<div id="slides">
</div>
<p>
<input id="pause" class="button" style="display:block;" type="button" value="pause" onclick="Pause()" />
<input id="play" class="button" style="display:none;" type="button" value="play" onclick="Navigate()" />
</p>
</div>
</body>
</html>
答案 0 :(得分:0)
网页无法访问您的本地文件系统。不要使用绝对URL,请使用相对于根的URL。
这就是您的slides
的外观。顺便说一句JS中的数组以索引0
而不是1
开头。
var slides = [
[5, "Announcement 1", "/Announcement_1.htm"],
[5, "Announcement 2", "/Announcement_2.htm"],
[5, "Announcement 3", "/Announcement_3.htm"],
[5, "Announcement 4", "/Announcement_4.htm"],
[5, "Cust and Vis info", "/Cust%20and%20Vis%20Info.htm"],
[5, "SHL Logo", "/Dash_Logo.htm"],
[5, "Job info", "/Job%20Openings.htm"]
];
然后,请声明您使用的for(let idx=0; ...
变量。
请勿将setTimeout("MenuHide()", 3500);
与字符串一起使用。他们需要评估,评估是邪恶的。传递函数:setTimeout(MenuHide, 3500);
KhtmlOpacity
和filter = "alpha(opacity=...
?您想保持向下兼容多远?这些用于Safari 1.x和IE 5-9。