对于缓存问题,我想使用 url 发送当前日期时间,但是使用以下代码,当前时间戳未显示在 url 中。
<script>var d=new Date();</script>
<li><a href="/controllername?t="+d.getTime()+"&name=.... // etc
如何在 url 中正确添加 javascript 数据时间?
对于缓存问题,我想使用 url 发送当前日期时间,但是使用以下代码,当前时间戳未显示在 url 中。
<script>var d=new Date();</script>
<li><a href="/controllername?t="+d.getTime()+"&name=.... // etc
如何在 url 中正确添加 javascript 数据时间?
除了使用内联 javascript,更好的方法是在 DOM 中识别您的元素,然后简单地设置它的href
属性,如下所示:
html
<ul>
<li><a id="timeLink" href="#">Time Link</a></li>
</ul>
javascript
var d=new Date();
var timeLink = document.getElementById("timeLink");
timeLink.setAttribute("href","/controllername?t="+d.getTime());
像往常一样,使用jQuery
可以简化很多:
$(document).ready(function(){
var d = new Date();
$("#timeLink").attr("href","/controllername?t="+d.getTime());
});
这是一个功能小提琴
使用new Date().getTime();
并将其附加到链接
<a id="link" href="/controllername?t="+d.getTime()+"&name=.... // etc
通过抓取link
元素并附加时间戳:
var link = document.getElementById('link');
var now = new Date().getTime();
link.setAttribute("href", "/controllername?t=" + now);
由于您想在单击链接时添加当前时间戳,因此我会将上述代码附加到 的onclick
函数中href
,因此当您单击链接时,实际时间戳将附加到 url。请参阅示例http://jsfiddle.net/GBBdc/。
尝试这个:
<a href="#" onClick="this.href='/controllername?t=' + (new Date().getTime());">click me</a>
由于您使用 ASP,您可以这样定义您的脚本。你可以做任何你喜欢的格式 (.ToString("hh:mm:ss") ) 例如
<script> var d = '<%=DateTime.Now.Ticks %>';</script>
通过这种方式,您可以拥有任何格式并以任何您喜欢的方式在后端使用它,始终确保您拥有正确的格式,与可能采用本地化格式的客户端字符串相反
如果你不在里面,你不能使用 d 对象<Script>
做类似的事情:
<script>
var d=new Date();
$("#mylink").attr("href","...." + d.getTime() + "..");
</script>
<a id="mylink">
时间每秒钟、毫秒等都会发生变化,因此您需要使用 url 发送最新的时间值:
<a href="javascript:sendRequest('/controllername?t=');">Send Request</a>
Javascript:
function sendRequest(oldUrl){
var d = new Date();
var newUrl = oldUrl + d.getTime();
window.location = newUrl;
}
这是它的DEMO
很简单,只需在你的脚本中写这个
var d = '';