点击图片地址,使用window.open()和document.write()打开新窗口,实现图片预览,单击右键进行保存
const imgWindow = window.open('')
imgWindow && imgWindow.document.write(`<img src='${url}' style='display: flex; margin: 0 auto'/>`)
结果发现,在部分谷歌浏览器中,新窗口打开后无法实现单击右键进行图片保存。而选“在新标签页中打开图片”却可以。为什么会这样?
在网上搜索一番,网友说是谷歌内核的原因导致,给出解决方案 xxx.document.location = "#"
https://qa.1r1g.com/sf/ask/28...
const imgWindow = window.open('')
imgWindow && imgWindow.document.write(`<img src='${url}' style='display: flex; margin: 0 auto'/>`)
imgWindow.document.location = "#";
问题解决了,但是具体是啥原因,还不清楚,而且不知道为啥要用 document.location
并且设置为 #
,才会起作用,希望大佬看到后解个惑
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。