javascript - 在 Microsoft Edge 中打开跨域窗口时忽略 window.open() 参数
问题描述
在 Microsoft Edge 中,以下代码段将忽略传递给window.open()
whenurl
与当前域不同来源的选项。但它在 Chrome 和 Firefox 中运行良好,并且当域是相同的来源时。
const popupWindow = window.open(
url,
title,
'menu=no,toolbar=no,width=700,height=600,scrollbars=1,resizable=0,' +
'directories=no,location=no,screenX=0,screenY=0,top=48,left=48',
);
我找到了一个 hacky 解决方法来让窗口正确调整大小,但这真的很烦人,你可以看到它重定向页面。
const popupWindow = window.open(
"/#",
title,
'menu=no,toolbar=no,width=700,height=600,scrollbars=1,resizable=0,' +
'directories=no,location=no,screenX=0,screenY=0,top=48,left=48',
);
popupWindow.location.href = url;
如何在 Microsoft Edge 上进行这项工作?为什么 Microsoft Edge 会忽略我的大小和其他参数?这是一个错误吗?
解决方案
我尝试检查问题,它看起来像与安全设置相关的问题。
我建议您修改以下Internet 选项设置。
(1)启用跨域访问数据源选项。
Internet选项->安全(选项卡)->自定义级别->其他->跨域访问数据源->设置为启用
(2)禁用保护模式。
Internet 选项-> 安全(选项卡)-> 取消选中启用 Internet 和本地 Intranet 的保护模式
(3) 将两个域都添加到受信任站点列表中。
Internet 选项-> 安全(选项卡)-> 受信任的站点-> 站点-> 将两个域添加到列表中。
(4) 取消勾选需要服务器验证(https:):
Internet选项->安全(选项卡)->受信任的站点->站点->取消选中需要服务器验证(https:)->输入本地主机URL并单击添加按钮。
修改上述设置后,我测试了这段代码。
const popupWindow = window.open(
"https://Bing.com",
"Microsoft page",
'menu=no,toolbar=no,width=700,height=600,scrollbars=1,resizable=0,' +
'directories=no,location=no,screenX=0,screenY=0,top=48,left=48',
);
Microsoft Edge 44.18362.1.0中的输出:
推荐阅读
- automation - 在 ETL 过程之后自动刷新 PBI 数据刷新
- rust - 如何忽略 rust web 请求中的空字段
- r - 图例根本没有出现在我的图表中,为什么?
- python - 将行附加到空数据框
- python - 打印归并排序的中间步骤
- python-3.x - 与权重梯度相比,线性回归中的偏差梯度仍然很小,并且没有正确学习截距
- r - 当我知道一个 R 对象的类时,我可以直接调用相应的方法吗?
- python-3.x - 需要从列中获取特定数据并使用 Python 和 Pandas 将它们转置到行
- typescript - 使用打字稿在“字符串”参数上出错
- postgresql - 我可以使用 AWS Cloudformation 模板在 AWS Aurora(Postgres 风格)中创建和修改表吗?