如何在 onTick 中调用 javascript 函数

本文关键字:调用 javascript 函数 onTick | 更新日期: 2023-09-27 18:33:54

我是Javascript的新手。我有一个带有滚动条的div,我希望当 OnTick 触发时,滚动条会自动下降。

现在,它可以工作,但仅在我发送消息(这是聊天(或加载对话时(因此在列表视图的 GetMessages 上(。

.JS

$(function scrollTopYeah() {
    alert('hi');
    document.getElementById('divDuClavardage').scrollTop = 9999999;
});

C#

protected void TimerChat_Tick(object sender, EventArgs e)
{
   lvChat.DataBind();
   Page.ClientScript.RegisterStartupScript(GetType(), "", "scrollTopYeah();", true);
   Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "myscript", "alert('test')", true);
   ClientScript.RegisterClientScriptBlock(typeof(Page), "myscript2","document.getElementById('divDuClavardage').scrollTop = 99999;", true);
   Page.ClientScript.RegisterStartupScript(this.GetType(), "close", "scrollTopYeah()", true);
 }

我尝试了你能看到的所有 4 行 ^...我做错了什么?它们都不起作用

我只想在Tick上调用我的JS函数!

谢谢

如何在 onTick 中调用 javascript 函数

之所以仅在用户将消息发送回服务器时触发函数,是因为这是服务器可以向浏览器发送命令的唯一时间。 服务器不会与客户端浏览器保持连接,它只接收请求并回复它们。因此,它唯一可以通知客户端浏览器的时间是在客户端向服务器发送请求之后,即发送消息或加载会话。

TimerChat_Tick 方法在返回对客户端的响应后在服务器上的某个时间点调用,实际上可能没有调用,因为它的作用域是在响应返回后确定的。

要让服务器在客户端的浏览器上调用某些内容,您需要使用 websockets 或让计时器在客户端 javascript 中运行。

虽然从方法的名称来看,您可以在浏览器上使用setTimeout(函数,时间(方法。 但是,如果这不是您要做的,那么这里有一篇关于websockets和.net的文章:http://weblogs.asp.net/dwahlin/building-an-html5-web-sockets-server-with-asp-net-4-5