HTML - 脚本在 JSFiddle 中工作,但当我单独 运行 脚本时却不行
HTML - Script working in JSFiddle but not when I run the script alone
以下脚本在 JSFiddle 上按预期工作,但是当我将脚本复制出来并将其放入本地的 .html 文件时,它不再工作。报告的 hyperlinks 不再出现。
下面是我保存到 .html 文件的脚本,它应该是上面 JSFiddle link 中内容的副本。
<html>
<meta http-equiv="Content - Language" content="en - gb">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Report Menu</title>
<style fprolloverstyle>A:hover {color: red; font-weight: bold}
</style>
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
function getMonthString(num) {
var month; //Create a local variable to hold the string
switch (num) {
case 0:
month = "01";
break;
case 1:
month = "02";
break;
case 2:
month = "03";
break;
case 3:
month = "04";
break;
case 4:
month = "05";
break;
case 5:
month = "06";
break;
case 6:
month = "07";
break;
case 7:
month = "08";
break;
case 8:
month = "09";
break;
case 9:
month = "10";
break;
case 10:
month = "11";
break;
case 11:
month = "12";
break;
default:
month = "13";
}
return month;
};
var d = new Date();
var name = 'Report_';
var name2 = 'Report_';
name += d.getFullYear();
name += getMonthString(d.getMonth());
name += d.getDate() - 1;
name += '.pdf';
name2 += d.getFullYear();
name2 += getMonthString(d.getMonth());
name2 += d.getDate() - 2;
name2 += '.pdf';
document.getElementById('lnk').innerText = name;
document.getElementById('lnk').setAttribute('href', name)
document.getElementById('lnk2').innerText = name2;
document.getElementById('lnk2').setAttribute('href', name2)
}//]]>
</script>
</head>
<body>
<title>Report Menu</title>
</head>
<body LEFTMARGIN="150">
<table height=1 align="Right">
<Font Size="1"> <font face='Mylius Sans'color= 999999 >This menu last refreshed: 10Aug15 02:19</font>
</table>
<p><font face="Arial" size="3"><B>Daily_Network_Operations_Report</B></p><p><font size="2">Choose your report:</font>
</p>
<table border="0" cellpadding="2" cellspacing="5"><font size="2">
<tr><a href='#' id="lnk"></a></tr>
<tr><a href='#' id="lnk2"></a></tr>
</table>
<p><font face="Arial" size="1">earlier reports may be available - please email </p>
</body>
</html>
添加
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
在您的标签开头(顺便说一句,您缺少开始标签。
问题是无论你在哪个区域,它都可能进入兼容模式运行。
尝试将您的脚本放在 body 标记的末尾:
<script src="script.js"></script>
另一个解决方案。在正文标签中使用 onload
:
即使问题已得到解答,我仍想补充 Altay Mazlum 指出的内容。此代码在 Firefox 下不起作用(至少在我的情况下)。
您必须将 innerText 替换为 textContent。
此主题的回复('innerText' works in IE, but not in Firefox) by Prakash K:
Firefox uses the W3C-compliant textContent property.
以下脚本在 JSFiddle 上按预期工作,但是当我将脚本复制出来并将其放入本地的 .html 文件时,它不再工作。报告的 hyperlinks 不再出现。
下面是我保存到 .html 文件的脚本,它应该是上面 JSFiddle link 中内容的副本。
<html>
<meta http-equiv="Content - Language" content="en - gb">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Report Menu</title>
<style fprolloverstyle>A:hover {color: red; font-weight: bold}
</style>
<script type='text/javascript'>//<![CDATA[
window.onload=function(){
function getMonthString(num) {
var month; //Create a local variable to hold the string
switch (num) {
case 0:
month = "01";
break;
case 1:
month = "02";
break;
case 2:
month = "03";
break;
case 3:
month = "04";
break;
case 4:
month = "05";
break;
case 5:
month = "06";
break;
case 6:
month = "07";
break;
case 7:
month = "08";
break;
case 8:
month = "09";
break;
case 9:
month = "10";
break;
case 10:
month = "11";
break;
case 11:
month = "12";
break;
default:
month = "13";
}
return month;
};
var d = new Date();
var name = 'Report_';
var name2 = 'Report_';
name += d.getFullYear();
name += getMonthString(d.getMonth());
name += d.getDate() - 1;
name += '.pdf';
name2 += d.getFullYear();
name2 += getMonthString(d.getMonth());
name2 += d.getDate() - 2;
name2 += '.pdf';
document.getElementById('lnk').innerText = name;
document.getElementById('lnk').setAttribute('href', name)
document.getElementById('lnk2').innerText = name2;
document.getElementById('lnk2').setAttribute('href', name2)
}//]]>
</script>
</head>
<body>
<title>Report Menu</title>
</head>
<body LEFTMARGIN="150">
<table height=1 align="Right">
<Font Size="1"> <font face='Mylius Sans'color= 999999 >This menu last refreshed: 10Aug15 02:19</font>
</table>
<p><font face="Arial" size="3"><B>Daily_Network_Operations_Report</B></p><p><font size="2">Choose your report:</font>
</p>
<table border="0" cellpadding="2" cellspacing="5"><font size="2">
<tr><a href='#' id="lnk"></a></tr>
<tr><a href='#' id="lnk2"></a></tr>
</table>
<p><font face="Arial" size="1">earlier reports may be available - please email </p>
</body>
</html>
添加
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
在您的标签开头(顺便说一句,您缺少开始标签。
问题是无论你在哪个区域,它都可能进入兼容模式运行。
尝试将您的脚本放在 body 标记的末尾:
<script src="script.js"></script>
另一个解决方案。在正文标签中使用 onload
:
即使问题已得到解答,我仍想补充 Altay Mazlum 指出的内容。此代码在 Firefox 下不起作用(至少在我的情况下)。
您必须将 innerText 替换为 textContent。
此主题的回复('innerText' works in IE, but not in Firefox) by Prakash K:
Firefox uses the W3C-compliant textContent property.