簡體   English   中英

Sharepoint 在線導航緩存?

[英]Sharepoint online navigation caching?

我正在使用 Aplication Customizer 將 jQuery 和自定義 javascript 添加到我的頁面:

 let current_date: Date = new Date();
let date_String: string = current_date.toString();
date_String = current_date.toISOString()
console.log('date_string = %s', date_String);
SPComponentLoader.loadCss('https://8lbg15.sharepoint.com/sites/KnowledgeBase/SiteAssets/caj23.css?d=' + date_String);
//SPComponentLoader.loadScript('https://8lbg15.sharepoint.com/sites/KnowledgeBase/SiteAssets/jquery-3.6.3.min.js?d=' + date_String)
//SPComponentLoader.loadScript('https://8lbg15.sharepoint.com/sites/KnowledgeBase/SiteAssets/caj23.js?d=' + date_String);

SPComponentLoader.loadScript('https://8lbg15.sharepoint.com/sites/KnowledgeBase/SiteAssets/jquery-3.6.3.min.js?d=' + date_String, {
  globalExportsName: 'jQuery'
}).then(($: any) => {
  $(function () {
    console.log('jQuery is loaded');
  });
  SPComponentLoader.loadScript('https://8lbg15.sharepoint.com/sites/KnowledgeBase/SiteAssets/caj23.js?d=' + date_String, {}).then(() => {
    //...do something
  });
});

當我打開頁面時,代碼運行良好。 但是,如果我從主站點導航(即大型菜單)導航到該頁面,則代碼不會運行。 然而,如果我在導航中再次單擊鏈接,它會加載頁面並運行代碼。

換句話說,當您通過導航更改頁面時它不會響起,但如果您加載同一頁面(或使用 F5 重新加載頁面)它會響起!!!

這是某種緩存問題嗎? 我使用的是 Sharepoint Modern/Online,因此該站點沒有緩存設置。

感謝收到任何解決方案。

根據你的描述,據我所知,自定義代碼通常是在刷新整個頁面時加載的。 並且第一次通過導航進入頁面,不會觸發整個頁面刷新,所以沒有代碼不生效。

SharePoint 在線作品在線。 如果擔心是緩存影響了這件事情,可以嘗試清除瀏覽器的緩存,或者切換到隱私模式看看問題是否解決。

似乎是一個路由攔截器,它將檢查您的鏈接,並在適當的情況下進行部分導航,即避免加載整個頁面。

要解決並強制運行 javascript,請將 data-interception="off" 添加到所有鏈接,例如通過腳本

$('a').attr("數據攔截", "關閉");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM