Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript从屏幕或div读取像素_Javascript_Jquery_Svg - Fatal编程技术网

使用Javascript从屏幕或div读取像素

使用Javascript从屏幕或div读取像素,javascript,jquery,svg,Javascript,Jquery,Svg,我的网站加载一个包含其他域内容的iframe。我想让我的网站的用户能够拍摄“截图”。理想情况下,我希望捕获iframe的一部分,并在我的站点上以div或svg呈现读取的像素 但是我不确定Javascript是否能够做这样的事情。Javascript可以读取iframe、div或屏幕任何部分的像素吗?浏览器不允许您这样做,下面是一个示例: 假设您运行一个名为nefarious-site.com的域。在主页上,有一个,其src=”https://popular-mail-site.com/“。因为邮

我的网站加载一个包含其他域内容的
iframe
。我想让我的网站的用户能够拍摄“截图”。理想情况下,我希望捕获
iframe
的一部分,并在我的站点上以
div
svg
呈现读取的像素


但是我不确定Javascript是否能够做这样的事情。Javascript可以读取
iframe
div
或屏幕任何部分的像素吗?

浏览器不允许您这样做,下面是一个示例:

假设您运行一个名为nefarious-site.com的域。在主页上,有一个
,其
src=”https://popular-mail-site.com/“
。因为邮件站点非常流行,而且用户有可能已经登录到流行邮件站点,所以他们的电子邮件将加载到iframe中

当所有内容完成加载后,nefarious站点使用JavaScript“截屏”iframe,并通过XHR将图像发送到nefarious站点服务器。繁荣这个邪恶的网站现在窃取了用户邮箱的信息,甚至不需要破解用户密码

诚然,在很多情况下,这是行不通的——如果用户没有登录或没有帐户,恶意网站将获得一个无用的登录表单截图或错误文本。但有时它会起作用,总比什么都没有好

所以是的,这就是为什么浏览器对于让你做这样的事情非常保守


(顺便说一句,设置
X-Frame-Options
标题以防止内容首先呈现在
中可能是热门邮件网站的最佳选择,但这一点既不在这里也不在那里。)

可能的重复:如果域与用户所在的域不同,则不能复制,因为这会违反跨域策略