所以我不确定这是否可能,因为我无法通过搜索找到任何内容但是我想要确认。
是否可以隐藏img标签的src值?例如:
<img src="image.jpg" />
将显示为<img src="" />
或其他某种方法。即使用户右键单击以获取图像URL,我也不希望它被检索。这有可能吗?
我无法访问head元素,也无法使用Javascript或PHP。我只能使用Markdown接受的有限HTML标记。
答案 0 :(得分:6)
不能通过js / jquery或任何脚本语言隐藏它。虽然有调整等,你可以禁用right click
或显示假图像src
或使用CSS background-image
属性设置图像(这样,用户将无法右键单击并保存图像as)欺骗普通用户;
<body oncontextmenu="return false">
</body>
据我所知,您希望通过隐藏图像源来限制用户窃取您的图像。请记住,如果用户可以在浏览器上看到图像,则表示用户已下载图像,并且已在计算机上。很简单就是这样。没有办法防止图像被盗。
即使您设法以某种方式创建了一种方法,可以在客户计算机上显示图像而无需下载,但他们仍然可以进行屏幕截图,并且您的计划再次失败。
为您提供一些帮助链接(像您这样的问题)
1)Protect image download 2)Restricting images from direct url download
答案 1 :(得分:4)
我认为这是不可能的,因为用JavaScript改变src
会改变图像本身。此外,即使如果您以某种方式隐藏了用户的src
,也可以通过...轻松检索到它。
你可以做的最好的事情可能就是禁用右击,但如果他们真的想弄明白,这几乎就会阻止任何人。最有可能的方式更多,但简而言之,我认为这是不可能的。
答案 2 :(得分:4)
虽然您无法完全隐藏图像(尤其是开发工具等),但您可以放弃普通人。我见过的最好的技巧实际上是在div中放置一个透明图像。然后将实际图像作为div的背景图像。通过这种方式,实际图像只在css文件中,如果你右键单击图像并保存它,你实际上得到的透明图像可以是任何东西,纯黑色,随机文本等等。
如果您右键单击保存图像(或在新标签中打开图像),请注意小提琴实际上与您看到的图像不同。
<div>
<img src="http://FAKE-PLACEHOLDER-IMAGE-HERE"/>
</div>
img{
width: 100%;
height: 100%;
opacity: .01; /* effectively transparent but still right-clickable */
}
div{
width: 500px;
height: 500px;
background-image: url(http://REAL-IMAGE-HERE);
}
当然,如果您知道如何使用firebug或chrome dev工具,图像仍然非常容易获得。
答案 3 :(得分:0)
不,不可能。但您可以使用javascript/jquery
限制点击页面的某个区域。
答案 4 :(得分:0)
你无法阻止它下载。但你可以添加一个调整,以便它不容易到达。 添加图像作为给定分区的背景。这样做。 div { background-image:url(http://www.trafficsource.co.uk/wp- content / uploads / 2015/02 / section4-bg.jpg); }