【问题标题】:How to save a user made HTML page?如何保存用户制作的 HTML 页面?
【发布时间】:2009-01-01 15:52:10
【问题描述】:

我制作了一个拖放实用程序,使用户可以直接在工作场所拖放元素并创建他们的页面,但我发现如何将用户的工作保存为 HTML 页面!

【问题讨论】:

    标签: php javascript html


    【解决方案1】:

    你的意思是所有元素的位置?遍历它们并保存它们的位置怎么样?如果你使用 jQuery,你可以这样做:

    var positions = new Array();
    function savePositionOfAllDivs() {
     $('div').each( function(){
      $this = $(this);
      id = $this.attr('id');
      position = $this.position();
      left = position.left;
      top = position.top;
      positions[id] = new Array();
      positions[id]['left'] = left;
      positions[id]['top'] = top;
     }
    }
    

    然后将位置数组发送到某个服务器端脚本,该脚本将其转换为 CSS,然后您可以将其嵌入到用户可以下载的 HTML 页面中。

    (有了更多关于您尝试执行的操作的具体信息,这可能会更容易和更有效。假设这是一个订单拖放功能,那么您只需要保存 div 的顺序)

    【讨论】:

    • 为什么不直接使用 offset() 而不是 position()? - 我很确定需要维度插件才能使“位置”工作。
    • 使用 position() 还是 offset() 更好取决于你的页面是如何构建的。
    【解决方案2】:

    嗯,.. 按保存按钮?不过说真的,我认为您可能想在您的问题上提供更多信息,例如您正在使用什么系统等。

    【讨论】:

    • 也许吧。但我对使用“保存”按钮很诚实。 Porta 表示他想将用户作品保存为“HTML 页面”,而最简单的方法是使用每个浏览器中都提供的“保存”按钮。
    • 是的,好的。 file->save 确实是一个选项。
    【解决方案3】:

    document.getElementsByTagName("BODY")[0].innerHTML

    【讨论】:

    • 很好,但它不会保存他们的位置。
    • 另外,document.body.innerHTML 更短一些,但作用相同
    【解决方案4】:

    大多数 jQuery 拖放库都能够序列化被移动到可以保存的数组中的元素。如果你给我你正在使用的特定库的链接,我可以告诉你如何利用它。

    但是,如果您是自己制作的,则必须尝试上述建议之一。

    【讨论】:

      【解决方案5】:

      也许使用 XPath。 您可能会在 SO 上找到有用的 this 讨论。

      编辑:或者你可以用 Node.childNodes 做某事。 欲了解更多信息,请查看 MDC here

      【讨论】:

        【解决方案6】:

        您是想找出将 HTML 和 CSS 从前端传输到服务器的最佳方式,还是将 HTML 保存在服务器上(如在数据库或文件中)的最佳方式?

        【讨论】:

          【解决方案7】:

          我正在使用 jquery ,并且我制作了一个拖放实用程序,您可以使用它在页面内放置一些 html 元素,我需要知道如何将用户的工作保存在他可以下载或可以查看的 HTML 文件中保存后他的工作

          【讨论】:

          • 保存到哪里?你的服务器上的某个地方?还是在您客户的某个地方?
          【解决方案8】:

          我需要与 porta 相同的解决方案。 我的场景是我正在构建一个拖放 cms。用户可以拖放 html 元素来构建他们的页面。现在我如何保存这些更改(到 db 或会话 var),并且必须能够创建一个静态页面,其中包含用户使用 php.ini 所做的所有上述更改。有人可以阐明一下。我对 jquery 完全陌生,不会认为自己是 php 专家。

          【讨论】:

            猜你喜欢
            • 2011-12-09
            • 1970-01-01
            • 2016-08-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-03-17
            相关资源
            最近更新 更多