حزمة تطوير JavaScript - طريقة resanitize

تفاصيل حول طريقة resanitize في حزمة تطوير OpenReplay

حزمة تطوير JavaScript ⁠-⁠ طريقة resanitize

تعيد هذه الطريقة تقييم التنقية مقابل الـ DOM الحالي وتعيد إرسال كل ما تغيّر، مع تحديث العقد المُسجَّلة بالفعل في منتصف الجلسة.

تُطبَّق التنقية عادةً عند تسجيل العقدة لأول مرة. إذا غيّرت ما ينبغي إخفاؤه أو حجبه بعد أن تكون العقدة قد التُقطت بالفعل، فلن ينعكس هذا التغيير من تلقاء نفسه في إعادة التشغيل. استدعِ resanitize() لإجبار المُتتبِّع (tracker) على إعادة الفحص وتطبيق قواعد التنقية المُحدَّثة على العقد التي تُعدّ بالفعل جزءًا من التسجيل.

استدعِها بعد:

  • تبديل السمتين data-openreplay-obscured / data-openreplay-hidden على العناصر الموجودة بالفعل في الصفحة، أو
  • تغيير ما يعتمد عليه domSanitizer الخاص بك (class أو id وما إلى ذلك).
resanitize(el?: Element): void
  • el?: Element: أعلى عقدة قمت بتغييرها. يعيد المُتتبِّع فحص هذا العنصر وشجرته الفرعية. احذفها لإعادة فحص المستند بأكمله.

لا تُعيد هذه الطريقة أي قيمة. تُطبَّق التنقية المُعاد تقييمها مباشرةً على التسجيل الجاري، وتظهر النتائج في منصة OpenReplay.

// Obscure a section after the user opens sensitive content
const panel = document.getElementById('account-details')
panel.setAttribute('data-openreplay-obscured', '')

// Tell the tracker to re-apply sanitization to that subtree
tracker.resanitize(panel)
// Re-scan the whole document after changing domSanitizer rules
tracker.resanitize()