谷歌弹出窗口 js_PS系统谷歌86、IE弹出窗空白解决方案

一. 前言

PS系统弹出窗口会一片空白,比如放大镜或者二级页面的弹出页面。这是chrome或者edge浏览器升级导致的。官方给出了一个解决方案,是直接修改通用样式表

/* Fix for Chrome Bug - 32015432 , Blank Pop Up issue */.PSSRCHPAGE{overflow-x: scroll;}

但是这样会导致不需要滚动条的页面也出现滚动条,这并不是我们所希望的。

二. 问题原因

弹出窗页面横向滚动条首次渲染出现异常

三. 方案思路

采用js控制滚动条样式,触发二次渲染即可,不需要强制显示滚动条

四. 方案明细

1.新建HTML对象BUGFIXED_BODY_BLANK_JS

/** * @description 修复谷歌86、IE弹出窗空白问题 * @author LeaFish <735683662@qq.com> * @date 2020-11-09 * @export */function bugfixedBodyBlank() {  var iframes = document.querySelectorAll(".PSMODAL iframe");  // 修改overflow,触发渲染  function setOverflow(iframe) {    iframe.contentDocument.body.style.overflowX = "scroll";    setTimeout(function () {      iframe.contentDocument.body.style.overflowX = "auto";    }, 10)  }  for (var i = 0; i < iframes.length; i++) {    try {      if (iframes[i].contentWindow.$bugfixedBodyBlank) continue;      iframes[i].contentWindow.$bugfixedBodyBlank = true;      // 初始执行      setOverflow(iframes[i]);      // 窗口大小变化时,再次执行      iframes[i].contentWindow.addEventListener("resize", setOverflow.bind(this, iframes[i]));    } catch (error) {      continue;    }  }}self == top && setInterval(bugfixedBodyBlank,100);

2.将BUGFIXED_BODY_BLANK_JS添加到【PeopleTools/门户网站/品牌化/品牌化系统选项】附加javascript对象中(推荐),或者直接插入到框架通用js中

五. 备注

因为并不确定是否只有谷歌和IE,存在这个问题,所以并未进行浏览器判断。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值