在服务器请求时向html文件发送PHP头?
为了遵循新的cookie法规,我们需要在客户端网站上添加一个JS插件。然而,有一个是很难做到的:纯HTML有大量的页面 是否有可能以任何方式、形状或形式说:在服务器请求时向html文件发送PHP头?,php,javascript,jquery,html,css,Php,Javascript,Jquery,Html,Css,为了遵循新的cookie法规,我们需要在客户端网站上添加一个JS插件。然而,有一个是很难做到的:纯HTML有大量的页面 是否有可能以任何方式、形状或形式说: server request { send a php file to inject into a html file sent from the server } 或者类似的东西?您将无法将php注入纯html。然而,你可以用另一种方式来做。。。编写一个php脚本,围绕html进行包装并修改。。。返回您想要的html…您将无法将
server request {
send a php file to inject into a html file sent from the server
}
或者类似的东西?您将无法将php注入纯html。然而,你可以用另一种方式来做。。。编写一个php脚本,围绕html进行包装并修改。。。返回您想要的html…您将无法将php注入纯html。然而,你可以用另一种方式来做。。。编写一个php脚本,围绕html进行包装并修改。。。返回您想要的html…您还可以在jquery插件运行的地方使用js和包装器php文件,只需从文件中提取html页面并将其反馈给正文:
$(body.empty().html(来自静态html文件的body html)代码>
不管你打算怎么做,它都会很糟糕 您也可以在jquery插件运行的地方使用js和包装器php文件,只需从文件中提取html页面并将其反馈给正文:
$(body.empty().html(来自静态html文件的body html)代码>
不管你打算怎么做,它都会很糟糕 我认为在不修改HTML文件的情况下将自定义代码注入HTML文件的最简单方法是添加额外的处理层。它会稍微(可能不明显)降低每个请求的速度,但您的工作量肯定会减少
假设您使用的是Apache,创建一个.htaccess
文件,其重写规则与以下类似(未测试)
这将导致对html文件的每个请求都被传递到injector.php
在这个文件中,您可以看到最初使用$\u服务器['REQUEST\u URI']
请求的页面。使用从磁盘获取此文件,并使用内置方法定位要注入的区域(如果要将
放入
中,您可能只需要)。注入您的代码,并吐出修改过的文档
仅供参考,法律完全允许使用操作所需的cookie,这包括PHP会话ID等内容,以及存储与cookie使用相关的任何首选项的cookie。我重复一遍,可以使用cookie来存储用户不想使用cookie的偏好
在您的injector.php
中,您可以检测到此类首选cookie的存在,并基于此决定如果您愿意,不插入您的javascript。我认为在不修改HTML文件的情况下将自定义代码插入HTML文件的最简单方法是添加额外的处理层。它会稍微(可能不明显)降低每个请求的速度,但您的工作量肯定会减少
假设您使用的是Apache,创建一个.htaccess
文件,其重写规则与以下类似(未测试)
这将导致对html文件的每个请求都被传递到injector.php
在这个文件中,您可以看到最初使用$\u服务器['REQUEST\u URI']
请求的页面。使用从磁盘获取此文件,并使用内置方法定位要注入的区域(如果要将
放入
中,您可能只需要)。注入您的代码,并吐出修改过的文档
仅供参考,法律完全允许使用操作所需的cookie,这包括PHP会话ID等内容,以及存储与cookie使用相关的任何首选项的cookie。我重复一遍,可以使用cookie来存储用户不想使用cookie的偏好
在injector.php
中,您可以检测到此类首选cookie的存在,并基于此决定如果您愿意,不注入您的javascript。您可以使用auto_prepend_文件和auto_append_文件php ini指令,但必须将php设置为解析.html文件才能处理.html文件。通过输出缓冲,您可以捕获内容,然后修改html。使用auto_prepend_file php ini指令,引用调用函数ob_start()的.php文件;开始捕捉输出。简单地说:
<?php ob_start(); ?>
然后您可以使用auto_append_file php ini指令引用一个文件来修改输出。要获得输出,可以使用ob_get_contents();像这样:
<?php $output = ob_get_contents(); ?>
使用php中的一些字符串函数,您可以随意修改存储在$output中的html。然后,当您准备发送$output时,在附加的同一文件中使用以下命令:
<?php ob_end_clean(); echo $output; ?>
您可以使用auto_prepend_文件和auto_append_文件php ini指令,但必须将php设置为parse.html文件,才能处理.html文件。通过输出缓冲,您可以捕获内容,然后修改html。使用auto_prepend_file php ini指令,引用调用函数ob_start()的.php文件;开始捕捉输出。简单地说:
<?php ob_start(); ?>
然后您可以使用auto_append_file php ini指令引用一个文件来修改输出。要获得输出,可以使用ob_get_contents();像这样:
<?php $output = ob_get_contents(); ?>
使用php中的一些字符串函数,您可以随意修改存储在$output中的html。然后,当您准备发送$output时,在附加的同一文件中使用以下命令:
<?php ob_end_clean(); echo $output; ?>
我的建议:使用.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([^.]+).html$ /index.php?file=$1 [QSA,L]
</IfModule>
我的建议:使用.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^([^.]+).html$ /index.php?file=$1 [QSA,L]
</IfModule>
我猜你的翻译应用程序工作不正常。我喜欢“神奇的”曲奇法则tptb。”——)不管是什么…@mahatmanich阅读tptb=“权力即政府”@zomboble,请以一种正式的、不健谈的方式写问题-问题和答案形成一个维基,我们希望它尽可能具有可读性。所以我假设你正在寻找答案