用Javascript保存CSS样式

用Javascript保存CSS样式,javascript,jquery,css,styling,Javascript,Jquery,Css,Styling,我有一个web服务,人们可以在其中编辑他们的页面CSS,但我在该页面的页脚上有一个栏,我希望在每个页面上都保持一致 现在,人们可以用CSS“删除”它,我真的不想去解析CSS来删除与该条相关的规则。。。有没有一种方法可以保留样式或在加载后重新应用它们,以使条形图始终可见?jquery方法允许您设置css属性。如果设置了要在窗口加载上强制执行的任何属性,它们应该覆盖css文件中设置的属性 $(window).load(function () { $("#footer").css("visibil

我有一个web服务,人们可以在其中编辑他们的页面CSS,但我在该页面的页脚上有一个栏,我希望在每个页面上都保持一致

现在,人们可以用CSS“删除”它,我真的不想去解析CSS来删除与该条相关的规则。。。有没有一种方法可以保留样式或在加载后重新应用它们,以使条形图始终可见?

jquery方法允许您设置css属性。如果设置了要在窗口加载上强制执行的任何属性,它们应该覆盖css文件中设置的属性

$(window).load(function () { $("#footer").css("visibility", "visible"); }); $(窗口)。加载(函数(){ $(“#页脚”).css(“可见性”、“可见”); }); 您还可以考虑使用规则来胜过用户可编辑样式表中的样式。

jquery方法允许您设置css属性。如果设置了要在窗口加载上强制执行的任何属性,它们应该覆盖css文件中设置的属性

$(window).load(function () { $("#footer").css("visibility", "visible"); }); $(窗口)。加载(函数(){ $(“#页脚”).css(“可见性”、“可见”); });
您还可以考虑使用规则来胜过用户可编辑样式表中的样式。

您可以尝试两种方法:

  • 使用
    !重要信息
    CSS中的标志
  • 使用脚本添加栏,这意味着您在加载页面后添加栏及其样式。但是不要使用ID或类名,这样他们就不能轻易地用CSS将其作为目标

  • 您可以尝试两种方法:

  • 使用
    !重要信息
    CSS中的标志
  • 使用脚本添加栏,这意味着您在加载页面后添加栏及其样式。但是不要使用ID或类名,这样他们就不能轻易地用CSS将其作为目标

  • 您可以在iframe中加载该条。

    您可以在iframe中加载该条。

    如果您在保存时修改用户创建的CSS;将子代选择器添加到其所有规则中,可以将其样式的效果限制为所选元素。如果您使用此HTML:

    <html>
      <body>
        <div id="userEditableArea">
          <h2>Stylable</h2>
          <p>Users can style this section.</p>
        </div>
        <div id="footerBar">
          Users can't style this section.
        </div>
      </body>
    </html>
    
    当用户保存他们的样式时,您可以解析并将
    #userEditableArea
    添加到他们的所有规则中,这样他们只处理
    中的元素。这应该很容易通过一两个正则表达式来实现

    #userEditableArea h2 {font-size:2em;}
    #userEditableArea p {font-color:#333;}
    #userEditableArea #footerBar {display:none;}
    
    任何你不想让他们搞砸的东西,都放在#userEditableArea之外


    这应该是相当强大的-比使用更强大!重要规则或高特异性选择器,并且不需要任何JS。

    如果在保存时修改用户创建的CSS;将子代选择器添加到其所有规则中,可以将其样式的效果限制为所选元素。如果您使用此HTML:

    <html>
      <body>
        <div id="userEditableArea">
          <h2>Stylable</h2>
          <p>Users can style this section.</p>
        </div>
        <div id="footerBar">
          Users can't style this section.
        </div>
      </body>
    </html>
    
    当用户保存他们的样式时,您可以解析并将
    #userEditableArea
    添加到他们的所有规则中,这样他们只处理
    中的元素。这应该很容易通过一两个正则表达式来实现

    #userEditableArea h2 {font-size:2em;}
    #userEditableArea p {font-color:#333;}
    #userEditableArea #footerBar {display:none;}
    
    任何你不想让他们搞砸的东西,都放在#userEditableArea之外


    这应该是相当强大的-比使用更强大!重要规则或高特异性选择器,不需要任何JS。

    啊,你比我强:)但它们可以使用的不仅仅是可见性,还可以使用负数
    文本缩进,
    display:none
    或使文本颜色透明或与背景颜色相同。这些技术要求您设置要保护的每个属性(您可能不想这样做),并依赖特定性和!重要的是,两者都不可靠。此外,它们依赖于javascript,这对于一个健壮的解决方案来说是不需要的。啊,你比我强:)但它们可以使用的不仅仅是可见性,还可以使用负的
    文本缩进,
    display:none
    或使文本颜色透明或与背景颜色相同。这些技术要求您设置要保护的每个属性(您可能不想这样做),并依赖特定性和!重要的是,两者都不可靠。此外,它们依赖于javascript,这对于一个健壮的解决方案来说是不需要的。它们可以在以后始终确定页面的结构,并且不一定需要使用id或类直接针对工具栏。足够聪明的人无论你做什么,都可以禁用或隐藏页面的任何部分。你听说过Firefox的Greasemonkey或时尚插件吗?还有,我之前问过这个问题,关于允许用户添加他们自己的样式表。。。有一些安全问题需要注意:福吉,这不是聪明人在自己的机器上做任何他们想做的事情,而是所有人都可以全局访问的站点页面。你可以隐藏/删除facebook包装,让所有应用程序在你自己的机器上全屏运行,但是如果脚本/css这样做了,那么facebook就有一个大问题。这两种技术都不是很可靠。如果你依靠!重要的是,您需要定义要保护的每个样式属性-!重要提示:可能(部分)保护已设置的样式,但无法保护未设置的样式。使用脚本添加的元素可以通过CSS作为目标,无论您是否为它们提供ID和类。此外,你希望能够自己设计页面的样式,对吗?他们以后总能找到页面的结构,不一定需要直接使用id或类来定位工具栏。足够聪明的人无论你做什么都能禁用或隐藏页面的任何部分。你听说过Firefox的Greasemonkey或时尚插件吗?还有,我之前问过这个问题,关于允许用户添加他们自己的样式表。。。有一些安全问题需要注意:福吉,这不是聪明人在自己的机器上做任何他们想做的事情,而是所有人都可以全局访问的站点页面。你可以隐藏/删除facebook包装,让所有应用程序在你自己的机器上全屏运行,但如果脚本/css这样做,那么应用程序就是r