Javascript 拍摄iFrame的屏幕截图

Javascript 拍摄iFrame的屏幕截图,javascript,asp.net,iframe,Javascript,Asp.net,Iframe,我正在寻找一种简单的方法,在我的ASP页面截图的iFrame。我就是不能用C#实现它,而且我缺乏Javascript知识!有人知道实现这一目标的简单而最好的方法吗 我想做的是,我正在建立一个网站,学生可以登录到我国的电子政务网站,并证明他们是否是继续学习的学生,只需点击一下,这样他们就可以从我们的服务中获得折扣 编辑:这个难题应该在本地解决。除非我误解了你,否则这是不可能的 您不能指示用户的浏览器拍摄屏幕截图(这将是一种安全风险…而且几乎没有使用案例) 您无法加载您想要的页面屏幕截图(带有服务

我正在寻找一种简单的方法,在我的ASP页面截图的iFrame。我就是不能用C#实现它,而且我缺乏Javascript知识!有人知道实现这一目标的简单而最好的方法吗

我想做的是,我正在建立一个网站,学生可以登录到我国的电子政务网站,并证明他们是否是继续学习的学生,只需点击一下,这样他们就可以从我们的服务中获得折扣


编辑:这个难题应该在本地解决。

除非我误解了你,否则这是不可能的

  • 您不能指示用户的浏览器拍摄屏幕截图(这将是一种安全风险…而且几乎没有使用案例)
  • 您无法加载您想要的页面屏幕截图(带有服务器端代码),因为您没有访问该页面所需的凭据
服务器端

javascript
这段代码对我很有用。我希望其他人也一样

private void saveURLToImage(string url) 
    { 
        if (!string.IsNullOrEmpty(url)) 
        { 
            string content = ""; 


            System.Net.WebRequest webRequest = WebRequest.Create(url); 
            System.Net.WebResponse webResponse = webRequest.GetResponse(); 
            System.IO.StreamReader sr = new StreamReader(webResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("UTF-8"));

            content = sr.ReadToEnd(); 
            //save to file 
            byte[] b = Convert.FromBase64String(content); 
            System.IO.MemoryStream ms = new System.IO.MemoryStream(b); 
            System.Drawing.Image img = System.Drawing.Image.FromStream(ms); 
            img.Save(@"c:\pic.jpg", System.Drawing.Imaging.ImageFormat.Jpeg); 


            img.Dispose(); 
            ms.Close(); 
        } 
    } 

就我个人而言,我不认为IFRAME的屏幕截图可以证明很多东西,而且作为证明学生合法性的概念,它会非常不安全。我主张想出一个不同的解决办法。@Aristos-不,不是。它们尝试将HTML呈现为PNG。上面说它不准确。同样,同源策略也会阻止它从iframe读取数据。+1嗯,你是对的,这里的问题可能是不可能的。可以使用JAVA小程序拍摄屏幕截图。这不起作用。如果在第二个链接上单击“测试控制台”按钮,您将看到它拍摄给定链接的快照,它确实需要给定url的凭据才能登录。引用该页面:“即使使用代理,加载外部页面也存在很多问题,因此许多页面根本无法呈现。“此外,由于它需要使用代理,它将无法获取OP想要截图的页面……因为这需要用户的凭据。它甚至回答了他的问题吗?”?代码没有截图。此外,它似乎是为了下载图像并在本地保存它们而设计的,尽管有框架方法可以实现这一点。如果您给它一个页面URL,它将不会呈现它,因此没有要保存的图像。