Chrome SuppressDifferentOriginSubframeJSDialogs 设置覆盖使用 JS?

Bin*_*ing 6 javascript google-chrome cross-domain

Chrome 开发团队显然刚刚推出了一项名为 SuppressDifferentOriginSubframeJSDialogs 的新“功能”,这使得来自不同域上的 iFrame 的警报+确认框不会显示在默认情况下:https://www.chromestatus。 com/feature/5148698084376576

这意味着如果您有一个嵌入式表单,并且您依靠标准 JavaScript 警报来通知用户错误(或确认以确保他们想要进行更改),它现在什么都不做,完全破坏了用户体验。

显然,我们可以覆盖内置警报并使用自定义警报进行确认,但是现在远离浏览器内置的内容会为每个 UI(移动设备、平板电脑、笔记本电脑、台式机等)引入重新设计,而不仅仅是依赖经过验证的内置技术。

有没有办法更改此跨域设置,或将特定域列入白名单以覆盖此功能? 我们确实可以使用外部 JS 包含文件访问父站点(显然,否则这将是一个敞开的后门)。

HO *_*Pin 7

禁用 SuppressDifferentOriginSubframeJSDialogs ,这会阻止 js 对话框弹出

如果您是单用户 (Windows):

  1. 右击桌面并创建快捷方式

  2. Windows 将弹出一个屏幕并询问您“键入项目的位置:”....现在将这些值粘贴到文本框中

    "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=SuppressDifferentOriginSubframeJSDialogs

  3. 单击“下一步”,然后单击“完成”按钮以创建快捷方式

  4. 现在你会看到在你的桌面上创建了一个 chrome 快捷方式。关闭所有活动的 Chrome 实例(如果存在)然后启动快捷方式,你会发现 Js 弹出不会再阻止了。

提示:如果您想将此修复推送给所有合作域用户,您可以考虑使用域组策略更新 Chrome 快捷方式值或使用自定义域登录脚本逻辑来执行此操作。