Bin*_*ing 6 javascript google-chrome cross-domain
Chrome 开发团队显然刚刚推出了一项名为 SuppressDifferentOriginSubframeJSDialogs 的新“功能”,这使得来自不同域上的 iFrame 的警报+确认框不会显示在默认情况下:https://www.chromestatus。 com/feature/5148698084376576
这意味着如果您有一个嵌入式表单,并且您依靠标准 JavaScript 警报来通知用户错误(或确认以确保他们想要进行更改),它现在什么都不做,完全破坏了用户体验。
显然,我们可以覆盖内置警报并使用自定义警报进行确认,但是现在远离浏览器内置的内容会为每个 UI(移动设备、平板电脑、笔记本电脑、台式机等)引入重新设计,而不仅仅是依赖经过验证的内置技术。
有没有办法更改此跨域设置,或将特定域列入白名单以覆盖此功能? 我们确实可以使用外部 JS 包含文件访问父站点(显然,否则这将是一个敞开的后门)。
禁用 SuppressDifferentOriginSubframeJSDialogs ,这会阻止 js 对话框弹出
如果您是单用户 (Windows):
右击桌面并创建快捷方式
Windows 将弹出一个屏幕并询问您“键入项目的位置:”....现在将这些值粘贴到文本框中
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=SuppressDifferentOriginSubframeJSDialogs
单击“下一步”,然后单击“完成”按钮以创建快捷方式
现在你会看到在你的桌面上创建了一个 chrome 快捷方式。关闭所有活动的 Chrome 实例(如果存在)然后启动快捷方式,你会发现 Js 弹出不会再阻止了。
提示:如果您想将此修复推送给所有合作域用户,您可以考虑使用域组策略更新 Chrome 快捷方式值或使用自定义域登录脚本逻辑来执行此操作。
| 归档时间: |
|
| 查看次数: |
3484 次 |
| 最近记录: |