0

对于缓存问题,我想使用 url 发送当前日期时间,但是使用以下代码,当前时间戳未显示在 url 中。

<script>var d=new Date();</script>
<li><a href="/controllername?t="+d.getTime()+"&name=.... // etc

如何在 url 中正确添加 javascript 数据时间?

4

7 回答 7

6

除了使用内联 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());
});​

这是一个功能小提琴

于 2012-11-12T10:48:16.510 回答
2

使用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/

于 2012-11-12T10:48:59.737 回答
1

尝试这个:

<a href="#" onClick="this.href='/controllername?t=' + (new Date().getTime());">click me</a>
于 2012-11-12T10:50:16.057 回答
0

由于您使用 ASP,您可以这样定义您的脚本。你可以做任何你喜欢的格式 (.ToString("hh:mm:ss") ) 例如

<script>        var d = '<%=DateTime.Now.Ticks %>';</script>

通过这种方式,您可以拥有任何格式并以任何您喜欢的方式在后端使用它,始终确保您拥有正确的格式,与可能采用本地化格式的客户端字符串相反

于 2012-11-12T10:47:35.440 回答
0

如果你不在里面,你不能使用 d 对象<Script>

做类似的事情:

<script>
var d=new Date();
$("#mylink").attr("href","...." + d.getTime() + "..");

</script>

<a id="mylink">
于 2012-11-12T10:48:12.910 回答
0

时间每秒钟、毫秒等都会发生变化,因此您需要使用 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

于 2012-11-12T11:14:08.087 回答
0

很简单,只需在你的脚本中写这个

var d = '';
于 2012-11-12T11:18:39.967 回答