Javascript &引用;另存为;服务器端的html

Javascript &引用;另存为;服务器端的html,javascript,Javascript,首先,这不是关于如何在服务器上使用http客户端的问题,而是关于JS的问题 我在网站上有一个受保护的区域(比如说/myprotected/),所有的css和图像都在上面。我想用html将其全部发布(比如说/htmlconverter)。在服务器端,最终将其转换为看起来像脱机页面的页面。类似于浏览器中的“另存为”。 以下是仅用于html文本的代码 function submitForm(){ var htmlelement = document.getElementById("html"); ht

首先,这不是关于如何在服务器上使用http客户端的问题,而是关于JS的问题

我在网站上有一个受保护的区域(比如说/myprotected/),所有的css和图像都在上面。我想用html将其全部发布(比如说/htmlconverter)。在服务器端,最终将其转换为看起来像脱机页面的页面。类似于浏览器中的“另存为”。 以下是仅用于html文本的代码

function submitForm(){
var htmlelement = document.getElementById("html");
htmlelement.value = document.getElementById("source").innerHTML;
document.forms["innerForm"].submit();
}

<form id="innerForm" method="post" action="/htmlconverter">
   <input type="text" id="html" name="html" style="display:none"/>
   <input type="button" value="submit" onclick="submitForm()"/>
  </form>

是否有办法将所有资源(包括img和css)发送到服务器

补充:我发现这个主题是关于序列化图像的


对于css,我将尝试AJAX调用css源代码,并将响应作为文本添加到新帖子中

您必须以某种方式从服务器执行此操作。换句话说,您必须将某种命令发回到您的东西的源,并告诉它发布(作为多部分表单或其他形式)需要发布到目标服务器的任何内容

浏览器无法发布与页面关联的图像数据和CSS正文等内容

在现代浏览器中,可以通过将图像写入画布来获取图像数据,但如果图像数据来自与主页不同的域,则无法访问图像数据

  • 将ID添加到
    标记本身,例如

  • 将其innerHTML发送到服务器

  • 在服务器上,解析原始HTML并通过解析
    的“href”属性提取CSS文件,通过解析
    标记的“src”属性提取图像。应该可以使用正则表达式


  • 让我看看我是否理解,你想保存你自己的网站吗?这是为了分发给用户?困难的部分不是发送资源。。它将服务器上的页面呈现为客户端所看到的样子。Camilo Martin,我简化了任务。最后我想把它转换成pdf格式。该网站不是静态的,基于封闭平台。哈米什,我已经这样做了,在我的情况下使用webkit库。至少我能够发送HTML5图像我同意1和2。但是如何将图像内容发送到服务器?@chro:#3取决于服务器端语言,您到目前为止没有提到。。例如,ASP.NET具有WebClient类,允许您将远程映像(通过URL)保存到服务器磁盘。好的,服务器端是J2EE,Apache Commons HTTPClient可以执行此任务。如果远程映像在受保护的上下文中,您如何访问它们?您可以在任何服务器端写入language@chro-使用.NET WebRequest,可以定义凭据、用户名和密码。除非“受保护”是指其他内容?好的,但如何从服务器端访问用户密码?如果这么简单,我只能将url传递给服务器端,服务器端将在不接收innerhtml的情况下完成这项工作。