【问题标题】:HTML coding and mixing of PHP or JavaScript codeHTML 编码和 PHP 或 JavaScript 代码的混合
【发布时间】:2011-01-05 11:22:39
【问题描述】:

我被分配了修改网站的任务,目前我正在处理index.html 页面。之前的编码器在两者之​​间混合了很多 JavaScript 和 CSS 代码,变得难以阅读。

我想知道是否有必要在其间包含<script>标签和CSS代码? PHP代码呢?每个人都必须住在哪里?

已编辑:

如果要引用多个 JavaScript 和 CSS 文件,如何在单个 <script><link> 标签中包含?

【问题讨论】:

    标签: php javascript html css


    【解决方案1】:

    将 JavaScript 保存在单独的文件中,将 CSS 保存在单独的文件中,并在 HTML 中引用它们。这些引用文件相对于 HTML 的顺序无关紧要。至于 PHP,我不会太担心它会与 HTML 混在一起(只需将您的函数、类和其他脚本保存在单独的文件中,并将它们与 PHP 一起包含在标题中)。

    如果每个页面上的 CSS 相同,则使用缓存的外部文件有助于节省带宽。如果针对不同的元素类型在 HTML 中混合了不同的规则,您可能会产生一些冲突,但如果您重写它,它最终会变得更加简洁,并且以后更易于维护。

    我喜欢保持这样的文件结构:

    index.php
    /css
       main.css
       othercssfiles.css
    /javascript
       main.js
       otherjsfiles.js
    /template
       header.php
       footer.php
    /scripts
       functions.php
       otherscripts.php
    

    然后在我的头文件中,我会将引用文件的 HTML 代码放在 CSS 和 JavaScript 目录中。在根目录中,我的index.php 文件将是include();顶部的页眉和底部的页脚。

    otherjsfiles.jsothercssfiles.css 可用于单个页面可能有特定要求的情况,需要大多数其他页面不需要的大量 CSS 和 JavaScript。这意味着其他页面不需要获取不必要的数据,并且它将特定于页面的代码与整个站点的代码分开。

    我发现这是一种跟踪构成 HTML 页面的代码的各个方面的简单方法,但自然而然,您会找到对您有意义的组织方法。


    已编辑:

    如果有多个 JavaScript 和 CSS 文件 被引用,如何包含 在单个或标签中?

    最好将它们合并到一个文件中以节省 HTTP 请求(这需要时间)。然后,您只需像平常一样包含那些 CSS 和 JavaScript 文件。

    <script type="text/javascript" src="/javascript/main.js"></script>
    <link rel="stylesheet" href="/css/main.css">
    

    此外,您似乎可以使用CSS beautifier 的服务来提高可读性,JavaScript beautifier 用于提高可读性,JavaScript minifier 用于阅读完毕(保持可读版本)并希望节省带宽.当您维护一个不是您创建的网站时,这些工具特别有用。

    【讨论】:

      【解决方案2】:

      PHP 编码允许您使用诸如&lt;? -php code here -?&gt; 之类的服务器标签将 HTML/CSS 穿插在 PHP 代码中。

      这很正常 - 它非常灵活且易于上手。

      理想情况下,您的 JavaScript 应该放在一个单独的 JS 文件中,并使用&lt;script&gt; HTML 标签来引用它。请参阅文档。

      您的 CSS 最好放在一个单独的 CSS 文件中,并使用&lt;style&gt; HTML 标签来引用它。再次,请参阅文档。

      【讨论】:

        【解决方案3】:

        很少有正当理由将 CSS 混入 HTML - 通常最好单独文件。

        使用 JavaScript:将其混入代码中可能有也可能没有充分的理由。例如。如果一段脚本依赖于在加载 HTML 的一个元素之后和另一个之前运行。这不是一个特别好的编码实践,但如果您要更新现有网站,您可能会遇到困难。

        最后,真正能分辨的唯一方法是将其拉出并确保页面仍然有效。

        【讨论】:

          【解决方案4】:

          正如 Sam 所说,将 JavaScript 和 CSS 保持在外部,并通过 id 而不是 onclick= 等引用 JavaScript 中的项目。关注 Yahoo,并将 CSS 放在 &lt;head&gt; 和结束前的 JavaScript @987654324 @标签。

          对于多个 JavaScript 或 CSS,请使用多个 &lt;script&gt;&lt;link&gt; 标签。

          对于 PHP,最好将尽可能多的功能保留在单独的包含文件中,并在主 HTML 中调用函数等。这将极大地提高可维护性。以简单的循环、if/elses 和函数调用为目标,仅此而已。

          【讨论】:

          • 我在某处读到多个
          • 如果你真的担心这个,你必须把你所有的CSS文件放在一个文件里,把你所有的JS文件也放在一个文件里。
          【解决方案5】:

          如果有多个 javascript 和 CSS 文件 被引用,如何包含 在单个或标签中?

          您可以使用多个标签引用每个文件,也可以使用 YUI compressor 之类的压缩工具从原始文件创建单个 CSS 和 JS 文件。

          【讨论】:

            【解决方案6】:

            CSS 样式的顺序是相关的,但仅相对于其他 CSS 样式。因此,首先以与最初相同的顺序将所有 CSS 样式一起移动(在 head 部分中)。这将使它不那么混乱,同时肯定不会改变页面的工作方式。

            然后你可以开始看看你是否可以重新排列脚本和 PHP 代码。他们直接输出到页面的内容是相关的,否则很容易重新排列。

            【讨论】:

              猜你喜欢
              • 2023-03-05
              • 1970-01-01
              • 2011-09-18
              • 1970-01-01
              • 2015-05-17
              • 2010-12-28
              • 1970-01-01
              • 2012-08-24
              相关资源
              最近更新 更多