有一個基于使用 AngularJS 和 jQuery 的遺留作業流引擎構建的應用程式。隨機出現一個空白彈出框,我們必須手動關閉。此框主要在激活下拉框以選擇選項時顯示。這個下拉框是一個自定義組件,而不是一個簡單的 HTML 選項元素。
請參閱下面的示例快照和相關彈出框的各種 HTML 部分。
我想知道是否有一種方法可以跟蹤負責生成此框的代碼。根據我的初步分析,它是由 jQuery Dialog UI 生成的。我注意到 jQuery 對話框的 CSS 沒有加載,這就是為什么你會看到一個基本的無格式框。
此外,如果您知道我們如何通過監視 DOM 的更改來終止此框,即當場終止該部分。
編輯:我試圖找到 jQuery 和 jQuery UI 的加載方式,但找不到用于加載的直接方式,而是根據下面的快照找到了一些參考。看起來這個應用程式沒有使用 header src 標簽加載庫。
我還注意到,當我嘗試使用控制臺顯示


uj5u.com熱心網友回復:
將有希望的方法來查找原始代碼,在評論中討論過,作為記錄它的答案。
第一個建議是部署非縮小代碼和非縮小 jqueryui 并在瀏覽器中使用開發人員工具。在 jqueryUI 的對話框創建函式之一中設定斷點,例如 _create: function() 或 _init 方法。并在顯示空白對話框之前查看哪個被擊中。并查看呼叫堆疊并沿著堆疊向下直到我們到達應用程式代碼。
由于問題自發發生,因此決定從 JqueryUI 庫記錄堆疊跟蹤。我們可以修改 jqueryUI 庫。不要使用 CDN,而是下載適當版本的非縮小 jqueryUI。然后在js檔案里面,找到widget ui.dialog。并把 console.trace(); _create 中的陳述句:function()。或先呼叫哪個函式。我不知道是哪一個,但我們可以撰寫一個小代碼并找出答案。
要確定正在使用哪個版本的庫,請在瀏覽器中打開應用程式頁面上的開發人員工具。在元素選項卡中執行 ctrl f 然后搜索 jquery-ui。你會發現一個帶有 js 鏈接的標簽。i.stack.imgur.com/fEb3P.png
uj5u.com熱心網友回復:
這將每 0.1 秒重復一次,并將搜索一個類ui-dialog并將其洗掉。
setInterval({
document.querySelector(".ui-dialog").remove();
}, 100);
試試這個。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/422074.html
標籤:
