如何打電話或在asp.net的MVC(C#)應用程序的Global.asax的的Application_Start使javascript函數?呼叫在asp.net mvc的javascript函數從Global.asax的
回答
你可以記得在會話或餅乾(這是性能爲JavaScript更容易,但更糟糕的/ etc)最後的「調用」時間,然後
function check() {
// or var lasttime = <%= Session["lasttime"] %>;
if (now - $.cookie("lasttime") > timeout)
{
$.cookie("lasttime", now);
performAction();
}
window.setTimeout(check, 1000);
}
您可以從$一次通話時間功能(文件) 。準備()。
但是請注意,它可能需要瀏覽器幾秒鐘來渲染頁面,也可能撞到404或其他錯誤,頁面將不起作用...... JavaScript是不是做調度操作的可靠方法。
另一種方式是讓你的計時器服務器上。像上面這樣的JavaScript函數將不時要求它,傳遞用戶ID或類似的東西。這將防止頁面重新加載期間定時器重置。但你必須經常請求。所以最好的解決辦法是將兩種技術結合起來:在服務器
- 運行定時器
- 當頁面呈現,設定VAR inited = FALSE;
- 運行功能之上,但這樣的:如果定時器= $ .getJSON( 「/定時器的uid = X?」);(inited!)並且當您擁有精確的當前計時器時,只需繼續使用JavaScript即可,無需服務器請求。
我喜歡並同意此答案。如果目標是防止某些javascript函數每分鐘被多次調用一次,而無論用戶在那段時間內點擊了多少個獨立頁面,那麼讓javascript負責(通過cookie,如圖所示)以便跟蹤時間它最後運行是最有意義的。當然,你可以使用一個會話變量(它很可能依賴於cookies),但是你最終會注入到腳本中。唯一我不確定的是,你的評論是在javascript cookies中做這件事情對性能來說更糟? – Funka 2009-10-22 03:07:58
實際上,唯一需要注意的可能是用戶打開了多個選項卡/窗口,以確保它們並非全部都在競爭計時器! – Funka 2009-10-22 03:18:18
每個請求都會發送Cookie,即使是靜態文件也是如此。是的會話依賴於cookie(通常),但只有一個;如果添加更多,則會增加流量。用戶可以關閉cookies。至於多頁面,這是結合了客戶端 - 服務器解決方案的理由,因爲在服務器上總是會有單個的定時器實例 - 可以聯繫一次或定期檢查計時器。 – queen3 2009-10-22 10:35:22
「JavaScript函數得到的數據被示出爲從數據庫通過jquery的用戶。JavaScript函數將週期性地使用的setTimeout執行」
這不會是做到這一點的地方。
你有沒有想過用你的母版?
我現在在主頁面中使用此調用。但每次我導航到其他頁面時,它都會重置間隔。說我需要調用js函數每隔1分鐘,當我從第一個到第二個頁面瀏覽,時間間隔被重置,我需要等待該頁面1分鐘的js函數獲取調用 – Prasad 2009-10-21 11:46:26
這就是網絡的性質。每個頁面都是獨立的。順便說一句,如果我是你,我會使用會話來跟蹤用戶在頁面上出現的時間。然後使用一些邏輯來檢查當前時間與會話時間,然後如果它違反了1分鐘輸出警報腳本(或任何你喜歡的) – LiamB 2009-10-21 11:53:24
你應該在$(document).ready中調用函數一次)並且還通過setTimeout。然後它在第二個1和60/120/180 – 2009-10-21 13:20:37
您如何檢查着陸頁負載時的應用程序級別變量(主頁面也會這樣做)並在其中註冊任何javascript並設置變量。
如果變量設置,您可以跳過註冊。
- 1. Asp.Net MVC呼叫從視圖
- 2. 呼叫與json_encode參數的JavaScript函數
- 3. ASP.NET呼叫定義JS-函數的RegisterStartupScript
- 4. 呼叫JSTL的變量javascript函數
- 5. 呼叫函數
- 6. 呼叫嵌套函數在Javascript
- 7. 安全的ASP.NET MVC呼叫控制器
- 8. 呼叫驗證Web服務在asp.net MVC
- 9. 呼叫SVG javascript函數裏面的html javascript函數
- 10. 呼叫getsubscription()函數
- 11. 呼叫器在asp.net中沒有javascript
- 12. 呼叫javascript函數與不定值
- 13. 呼叫從剃刀代碼JavaScript函數在局部視圖
- 14. 呼叫從框架javascript函數在其他框架
- 15. 添加撥出呼叫者ID MVC ASP.NET
- 16. Asp.net mvc 4 Ajax呼叫控制器
- 17. 調用JavaScript函數在asp.net網站的服務器呼叫形成後
- 18. 呼叫從一個javascript
- 19. 呼叫asp.net Membership類?
- 20. Doxygen的呼叫/呼叫者圖形引用缺少Fortran函數
- 21. 如何從MVC ActionResult中的Javascript彈出呼叫獲取值?
- 22. 從查看呼叫模型函數
- 23. 呼叫MVC行動
- 24. Yii的CGridView按鈕 - 呼叫參數化的javascript函數
- 25. 呼叫ASP.NET的WebMethod解析
- 26. 呼叫從給定函數向量R中的函數
- 27. ajax函數內呼叫
- 28. 延遲呼叫MATLAB函數
- 29. 呼叫不同jQuery函數
- 30. 呼叫控制器的動作從JavaScript
你想達到什麼目的? – Lazarus 2009-10-21 11:39:00
javascript函數通過jquery從數據庫中獲取要顯示給用戶的數據。 javascript函數將使用setTimeout定期執行。我需要((文件)。就緒不在$)只有一次調用這個javascript函數,這樣的setTimeout將再次照顧調用它的週期性 – Prasad 2009-10-21 11:43:38
哪些錯誤在$調用的setTimeout(文件)。就緒? – LiamB 2009-10-21 11:44:29