【问题标题】:php include file containing both html markup and js scriptsphp 包含包含 html 标记和 js 脚本的文件
【发布时间】:2012-07-28 07:10:01
【问题描述】:

一个很简单的问题:

  • “Headers.html”包含一堆由 js 脚本驱动的下拉菜单。脚本在 head 部分,菜单在 body 部分。

  • “Content1.html”、“Content2.html”等都有自己的

    和,另外它们在中包含一个PHP include语句,引入了“Headers.html”。

这种安排是非法的,因为它在结果文件中重复了

和 ,对吗?但是,如果我没有在“headers.html”中定义,我最终会在最终文件的正文中使用js 脚本。我想将所有脚本放入第三个文件中,该文件将包含在内容文件的 中,但这意味着“headers.html”中的菜单不能作为独立的菜单工作,这很烦人。那么,包含包含脚本的 html 文件的最佳做法是什么?

【问题讨论】:

  • 为什么在需要使用菜单的任何地方都包含脚本文件会很烦人?
  • 这不是一个很大的烦恼,但我想知道将脚本和标记放在一起是否是“最佳实践”。

标签: php javascript include head


【解决方案1】:

将脚本和标记严格保存在单独的文件中,并在需要时包含它们。

【讨论】:

  • 同意。但是,也有副作用。如果包含文件通过相对路径引用脚本文件,则该路径在包含文件中可能不再有效。没有使用绝对路径,我看不出如何在逻辑上解决这个问题。
  • @aag 所以这些包含文件变成了类似于库的东西。如果您真的无法为您的文件定义某种简单的文件系统布局(为什么不呢?),那么尝试在服务器端解决它:使用重写指令来模拟某种虚拟文件系统布局,这可能因您使用的每个项目而异那些文件。
  • 一种可能的策略可能是让 (1) 包含文件、(2) 脚本文件和 (3) 内容文件都在根目录下一层。或者,如果超过 1 级,则将所有 1 级降为一个公共目录。这样,Content 目录中对 Script 目录的相对引用将与 Include 目录中的相对引用相同。我的想法是直的还是乱码?
  • @aag 我看不出“包含文件目录”中的含义。我认为脚本文件将包含在内容文件中。还有其他我不知道的文件吗?由于您的文件夹布局是静态的,因此要包含的每个文件都有一个静态位置。因此,您可以以相对或绝对的静态方式从任何文件中引用它。在相对引用的情况下,该引用仅取决于包含文件的位置。您所需要注意的就是不要将您的包含文件到处乱推...我想我必须查看您的文件示例才能理解问题...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-13
  • 1970-01-01
  • 2018-03-29
  • 1970-01-01
相关资源
最近更新 更多