最近接手一個WEB專案,專案中各頁面跳轉都用的 window.location.href,比如1.jsp通過window.location跳轉到2.jsp。
我想在這個WEB專案中實作一個全域功能,確保在每個頁面都起作用,關鍵問題是如何保證同一個功能在每個頁面都起作用。
目前考慮的有這兩種實作方式:
1、方式一:
在1.jsp實作這個功能,不管后面window.location跳轉到2.jsp、3.jsp 等等頁面,確保1.jsp上的功能還能夠繼續運行。采用此方式,最好不要修改window.location的跳轉方式,因為改了跳轉方式后所有頁面、所有瀏覽器上都要重新做測驗,一處不兼容就會導致前功盡棄。
這種方式,還沒有想到解決辦法,所以上論壇發帖求助各位大拿
2、方式二
在所有頁面都實作這個功能,這樣1.jsp跳轉到2.jsp后,這個功能在2.jsp也還有。 這個方式看起來簡單,但實施起來有2個問題:(1)相當于對這個WEB專案涉及的所有頁面進行窮舉,但有些頁面鏈接到其他WEB專案的頁面上了,本專案去改其他專案的頁面比較難做到;(2)每個頁面都加同一個功能,如何保證多個頁面間的這個功能的時序關系和整體統一。
我這邊傾向于采用方式一實作,特求助方式一的實作方法,請各位大拿不吝賜教,多謝!
uj5u.com熱心網友回復:
你要保證他繼續運行應該是為了拿結果吧?不修改跳轉方式的話沒辦法保留,你可以把運行放在后端去進行,然后當你在2.jsp,3.jsp之類的回傳1.jsp時再發個請求去后端獲取運行結果,試試這樣?uj5u.com熱心網友回復:
1、這是個前端的專案
2、2.jsp不一定回傳1.jsp,有可能繼續跳轉到到其他jsp頁面。
3、我要做的功能是每10秒發送一個訊息給服務端,不管用戶在1.jsp頁面還是2.jsp、3.jsp ...,都能夠每10秒發一個訊息給服務端。
4、 跳轉方式也不是不可以改,是要確保修改影響最小,對所有業務功能做兼容
uj5u.com熱心網友回復:
你這需求有點詭異.如果你剛接觸這一行,建議直接貼需求,你的方案可能并不合理
如果你有一定的作業經驗,可以考慮用成熟的前端框架,而不是jsp
uj5u.com熱心網友回復:
VUE在跳轉方面已經有很好的實踐,你不需要去做這方面的考慮uj5u.com熱心網友回復:
應該是轉行來的吧,jsp是歸后端管的雖然它看起來挺像前端的,jsp的本質你可以理解成用java動態生成html的一種技術。前端回圈發訊息到后臺都是js寫的。想每個頁面都有同一個js方法,一般是在上層視窗準備js方法(有上層的情況下),或者每個jsp都加上同一個js參考,這個根據你使用的框架有簡化寫法uj5u.com熱心網友回復:
有沒有一個檔案被所有的檔案包含呼叫呢?比如head.jsp?foot.jsp?里面加上js 輪詢 就好了
uj5u.com熱心網友回復:
jsp會沒后端?不清楚你那邊的界面架構,如果有選單欄,a,b頁面都是子頁面的話你可以放到主選單頁面過去調度。不過定時任務還是建議直接后端使用調度框架去運行,不用客戶端一直發起請求。這樣對前端改動是最小的,后端提供介面啟停即可
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/283709.html
標籤:Web 開發
上一篇:springBoot引入shardingsphere問題
下一篇:PostgreSQL分頁查詢
