php - 根据服务器请求将 PHP header 发送到 html 文件?

标签 php javascript jquery html css

<分区>

为了遵循新的 cookie 法规,我们需要向客户网站添加一个 JS 插件。然而,事实证明这是困难的:带有大量页面的纯 HTML。

是否可以以任何方式、形状或形式说:

server request {
    send a php file to inject into a html file sent from the server
}

或任何模糊相似的东西?

最佳答案

我认为将自定义代码注入(inject) HTML 文件而不修改它们的最简单方法是添加一个额外的处理层。它会略微(可能不会引起注意)减慢每个请求的速度,但您的工作量肯定会减少。

假设您使用的是 Apache,创建一个 .htaccess具有类似于以下重写规则的文件(未经测试)。

RewriteEngine On
RewriteRule \.html$ /injector.php

这将导致每个对 html 文件的请求都被传递给 injector.php

在此文件中,您可以看到最初使用 $_SERVER['REQUEST_URI'] 请求的页面.使用 DOMDocument 从磁盘中获取此文件并使用内置方法找到您想要注入(inject)的区域(如果您想将 <script> 放在 <head> 中,您可能只需要 getElementById )。注入(inject)您的代码,并吐出修改后的文档。

仅供引用,法律完全允许使用 操作所需 的 cookie,这包括 PHP session ID 以及用于存储与 cookie 使用相关的任何偏好的 cookie。我再说一遍,使用 cookie 来存储用户不想使用 cookie 的偏好是可以的。

在你的injector.php您可以检测到此类偏好 cookie 的存在,并据此决定注入(inject)您的 javascript(如果您愿意)。

关于php - 根据服务器请求将 PHP header 发送到 html 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12002863/

上一篇:html - <li> - 转移到布局中的新行

下一篇:html - 应用 Bottom Box Shadow 在左右底部留下一些无阴影的空间

相关文章:

javascript - MongoDB 文档已添加但未显示在网站上(无需刷新)

c# - 无法隐藏表中的每一行(jQuery)

jquery方法.not从字符串中删除嵌套的div

javascript - jquery html中缺少空格的字符索引

javascript - 无法缩放或旋转 fabricJs 图像、矩形、椭圆

javascript - 向 HTML 表添加行的按钮破坏了我的自动计算功能

php - 如何强制不在 PHP 中缓存页面?

php - 我的centos php环境中没有php.in

php - 即使条件为空也显示连接表结果

php - 如何在php中获取第一条和最后一条记录