我正在尝试根据今天的日期在URL中包含日期变量 - 具体来说,我试图包含一个来自sharepoint的链接,该链接将用户带到共享驱动器中的相关文件。
我最初的想法是一个带有元刷新的HTML页面,它会将用户带到正确的页面:
我已经能够在VBA和autohotkey中执行以下变量,但我是Javascript的新手,因此无法创建任何可用的东西。
这需要基于客户端(因此是javascript) - 以下是我所拥有的,这是有效的但不是动态的
任何人都可以通过让我知道w来帮助。如果JS是最好的前进方式(我可以访问notepad ++并且无法访问服务器)以及我如何在VBA中包含类似YYYY
的{{1}}或月份名称等日期变量
Format(Date, "YYYY")
答案 0 :(得分:0)
您应该只使用JavaScript:
,而不是<meta>
标记
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth();
window.location.href = "file:///O:\Operations\Recc\Received\" + year + "\" + month;
我修改了原始网址以使用file
协议,因为在大多数浏览器中,文件系统网址都不会起作用。
如果您需要以文本方式使用月份,那么您可以使用查找表编写自己的实用程序方法,类似于以下内容:
function getMonthName(month) {
var monthNames = ['Jan', 'Feb', ...];
return monthNames[month];
}
并使用它:
var monthName = getMonthName(date.getMonth());
<!doctype html>
<html>
<head>
</head>
<body>
<p>You are being redirected to the correct location...</p>
<script type="text/javascript">
function getMonthNames(month) {
var monthNames = [ "January", "February", "March", "April", "May",
"June", "July", "August", "September", "October",
"November", "December" ];
return monthNames[month];
}
function doRedirect() {
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth();
var monthName = getMonthName(date.getMonth());
window.location.href = "file:///O:\Operations\Recc\Received\\"
+ year + "\\" + monthName;
}
setTimeout(doRedirect, 500);
</script>
</body>
</html>
然而,这可行,作为一种安全措施,大多数浏览器都不允许访问本地文件系统,因此您想要实现的目标在大多数浏览器中都无法工作 - 至少在默认情况下是这样。
答案 1 :(得分:-2)
如果我理解正确,你应该尝试在标记之前添加:
<script>
window.location = "mynewgeneratedlocation";
</script>
此脚本将动态重定向页面,但是为了添加自定义数据,您应该检查Date对象