基于umi的开发模板

visiable_helper.ts 646B

1234567891011121314151617181920212223242526272829
  1. const hiddenProperty: string =
  2. "hidden" in document
  3. ? "hidden"
  4. : "webkitHidden" in document
  5. ? "webkitHidden"
  6. : "mozHidden" in document
  7. ? "mozHidden"
  8. : "";
  9. const visibilityChangeEvent = hiddenProperty.replace(
  10. /hidden/i,
  11. "visibilitychange"
  12. );
  13. export default function subscriptVisibility(action: any) {
  14. if (typeof window !== "undefined" && visibilityChangeEvent) {
  15. document.addEventListener(visibilityChangeEvent, () => {
  16. if (!(document as any)[hiddenProperty]) {
  17. action({
  18. type: "show"
  19. });
  20. } else {
  21. action({
  22. type: "hide"
  23. });
  24. }
  25. });
  26. }
  27. }