Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一种普通的JavaScript技术可以将公共代码动态插入HTML页面,类似于PHP';包括能力吗?_Javascript_Php_Html - Fatal编程技术网

是否有一种普通的JavaScript技术可以将公共代码动态插入HTML页面,类似于PHP';包括能力吗?

是否有一种普通的JavaScript技术可以将公共代码动态插入HTML页面,类似于PHP';包括能力吗?,javascript,php,html,Javascript,Php,Html,我有一个多页面的HTML站点,每个页面上都有重复使用的通用代码(例如,导航条形码、分析、样式表导入等) 有没有一种方法可以动态地插入公共代码,从而获得与PHP的include功能相同的结果,并使代码更易于维护 我也看到过类似的问题,但并不是所有的问题都能说明我希望通过我正在使用的网站实现的目标。例如: 重要提示:我要插入/导入的大部分代码都是正确呈现页面所必需的代码,因此需要在页面加载时插入 有什么建议吗请将建议限制为普通JavaScript。目前我不知道JQuery,我想尝试用JS来实现

我有一个多页面的HTML站点,每个页面上都有重复使用的通用代码(例如,导航条形码、分析、样式表导入等)

有没有一种方法可以动态地插入公共代码,从而获得与PHP的include功能相同的结果,并使代码更易于维护

我也看到过类似的问题,但并不是所有的问题都能说明我希望通过我正在使用的网站实现的目标。例如:

重要提示:我要插入/导入的大部分代码都是正确呈现页面所必需的
代码,因此需要在页面加载时插入


有什么建议吗请将建议限制为普通JavaScript。目前我不知道JQuery,我想尝试用JS来实现这一点。

有几种方法可以满足您的需要,但我认为像EJS或类似的模板引擎可以满足您的需要

但是,请记住在客户端执行此操作的含义。不运行JavaScript的爬虫程序和类似程序将无法查看页面上的内容


您可能应该做的是在服务器端运行这些JavaScript模板,输出静态页面,然后将这些页面放在web服务器或CDN上。

有几种方法可以实现您的要求,但我认为像EJS或类似的模板引擎可以满足您的需要

但是,请记住在客户端执行此操作的含义。不运行JavaScript的爬虫程序和类似程序将无法查看页面上的内容


您可能应该做的是在服务器端运行这些JavaScript模板,输出静态页面,然后将这些页面放在web服务器或CDN上。

Webpack?您可以使用打包系统将所有JS融合到一个文件中,CSS也是如此。这样,您只有脚本和一个链接添加到每个页面。但是对于HTML部分,它们将添加javascript ajax,而这不应该是一个解决方案…

Webpack?您可以使用打包系统将所有JS融合到一个文件中,CSS也是如此。这样,您只有脚本和一个链接添加到每个页面。但是对于HTML部分,它们将使用javascript ajax添加,而这不应该是一个解决方案…

为什么会有多个页面?你不能只拥有一个页面,然后用新的代码内容而不是重定向来更新页面的某个部分(主要部分)。(如果您想看到这一点,请访问,以及更多)。index.html将如下所示:

<body>
 <div id = "nav" >
  <a href = "/whatever.html" class = "redirect" > Whatever </a>
 </div>
 <div id = "main" >
  Some content
 </div>
<script>
  //embed jquery
 $(_ => {
  $(".redirect").on("click",function(e){
    e.preventDefault();
    $("#main").load(this.href);
  });
});
</script>

一些内容
//嵌入jquery
$(_ => {
$(“.redirect”)。在(“单击”,函数(e){
e、 预防默认值();
$(“#main”).load(this.href);
});
});

为什么要有多个页面?你不能只拥有一个页面,然后用新的代码内容而不是重定向来更新页面的某个部分(主要部分)。(如果您想看到这一点,请访问,以及更多)。index.html将如下所示:

<body>
 <div id = "nav" >
  <a href = "/whatever.html" class = "redirect" > Whatever </a>
 </div>
 <div id = "main" >
  Some content
 </div>
<script>
  //embed jquery
 $(_ => {
  $(".redirect").on("click",function(e){
    e.preventDefault();
    $("#main").load(this.href);
  });
});
</script>

一些内容
//嵌入jquery
$(_ => {
$(“.redirect”)。在(“单击”,函数(e){
e、 预防默认值();
$(“#main”).load(this.href);
});
});

为什么专门使用javascript?您在问题中添加了php标签,是否也要讨论服务器端解决方案(可能不是php)?您将从何处/从何处为网站提供服务?你不能使用PHP或任何服务器端代码吗?我现在使用的是a,我认为它可能会阻止我为当前页面突出显示导航按钮,因为我的PHP实现非常粗糙(只是猜测)。我现在正在学习JS,认为它可能有用。@Salketer我知道的PHP比JS还少(在JS之后的列表中),所以从中期来看,这可能是一个更简单的解决方案。该网站目前在PHP上运行良好,我正在探索替代方案。相信我,你想在PHP中做的事情比在javascript中简单得多。为什么特别是javascript?您在问题中添加了php标签,是否也要讨论服务器端解决方案(可能不是php)?您将从何处/从何处为网站提供服务?你不能使用PHP或任何服务器端代码吗?我现在使用的是a,我认为它可能会阻止我为当前页面突出显示导航按钮,因为我的PHP实现非常粗糙(只是猜测)。我现在正在学习JS,认为它可能有用。@Salketer我知道的PHP比JS还少(在JS之后的列表中),所以从中期来看,这可能是一个更简单的解决方案。目前,该网站在PHP上运行良好,我正在探索替代方案。相信我,你想用PHP做的事情比用javascript容易得多。谢谢。新手问题:一般来说,如何在服务器端运行JS模板?这就是Node.js的用武之地吗?@PaulJacobson是的。您可以将Node.js作为服务器运行,并使用类似于Express的框架,该框架具有一些到模板引擎的快速连接器,或者编写一个快速脚本来在文件目录上运行模板,或者输出静态HTML。我建议你选择后者,因为这似乎是你想要的。谢谢。新手问题:一般来说,如何在服务器端运行JS模板?这就是Node.js的用武之地吗?@PaulJacobson是的。您可以将Node.js作为服务器运行,并使用类似于Express的框架,该框架具有一些到模板引擎的快速连接器,或者编写一个快速脚本来在文件目录上运行模板,或者输出静态HTML。我建议你选择后者,因为这似乎是你想要的。这是个好建议。香草JS我该怎么做?对于这样构建的站点,目录结构会是什么?@paul那么,使用
getElementsByClassName
XMLHttpRequest
和其他许多方法,或者只嵌入jqu