您可以通过JavaScript或php将在浏览器中所做的更改保存到本地HTML文件中吗?

时间:2018-08-19 15:05:49

标签: javascript php server editing

简而言之,我在计算机上有一个网站模板,为了创建要放置在服务器上的新网站,我经常需要添加/删除段落,更改标题的颜色,更改图像等。为了快速编辑这些内容,我想到编写JavaScript来提示用户选择要删除的颜色,图像,段落等,并在提交后在浏览器中进行这些更改(有点像cdm) )。当然,一旦刷新浏览器,所有用户的更改都将丢失,除非我只是从Inspector Tools复制新代码,并用它替换旧的网站模板代码。

我想知道的是,是否可以用php或JavaScript编写代码,在其中您可以在浏览器中打开本地index.html文件,让浏览器提示您输入特定值(例如十六进制颜色值)是否要所有标头元素都为?),获取您输入的值并将其保存到本地index.html文件中?这样,我就可以将新编辑的本地文件作为新产品放置在服务器上。我知道这是一个奇怪的要求,如果不太清楚,请提前抱歉。

1 个答案:

答案 0 :(得分:0)

  

这样,我可以将新编辑的本地文件作为新产品放置在服务器上。我知道这是一个奇怪的要求,如果不太清楚,请提前抱歉。

此新产品是否是新的单独网站...就像用户可以安装的新网站模板一样? 我有种预感,它只是某种网上商店中产品列表中的“新产品”。如果它只是商店中的产品……那么我认为您的整个方法是“错误的”。无论哪种方式,您都可以使用node.js / php +数据库来保存用户选择并在服务器端生成html。 我之前为客户完成过此操作,只是他可以实时调整带有颜色/字体/填充的网页,并立即查看结果。

我的快速解决方案基本上就是这样。

// load user choices from the database
landingpage = Database.landing_page.find({userId: 1});
// use simple templating engine to output values based on user choices
<html>
    <img src="{{landingpage.logoUrl}}">
    {{#if landingpage.paragraph1}}
    <p style="color: {{landingpage.paragraph1_color}}">{{landingpage.paragraph1}}</p>
    {{/if}}
    {{#if landingpage.paragraph2}}
    <p style="color: {{landingpage.paragraph2_color}}">{{landingpage.paragraph2}}</p>
    {{/if}}
</html>

// after user has filled in all the required configuration options, i could then open the page and see the rendered page html.

每个页面还有一个带有输入字段的额外模板,因此,如果用户要编辑页面,则可以在浏览器中打开该“特殊”模板,然后单击页面上的任何元素。然后,这将提示他输入该元素的所有可编辑属性。

例如,要使上面的模板可编辑,我将复制它并添加点击侦听器。

<html>
    <img src="{{landingpage.logoUrl}}" onClick="promptLogoUrl()">
    {{#if landingpage.paragraph1}}
    <p style="color: {{landingpage.paragraph1_color}}" onClick="promptP1Color()">
        {{landingpage.paragraph1}}
    </p>
    {{/if}}
    {{#if landingpage.paragraph2}}
    <p style="color: {{landingpage.paragraph2_color}}" onClick="promptP2Color()">
        {{landingpage.paragraph2}}
    </p>
    {{/if}}
</html>
// the prompts would use ajax to save the value user entered in prompt with the appropriate element id/name/label

这是一个简化的示例。在我的实际用例中,我的模板使用了命名约定/模式,因此我可以使用1函数来保存用户输入的所有属性。

您的问题是肯定的,所以我将简短地回答是或否。 是的-您可以通过javascript / php将更改保存到本地html。