Javascript 将JS2转换为php变量
我喜欢把fingerprint作为php变量,我得到了下面的结果,但我不想工作Javascript 将JS2转换为php变量,javascript,php,fingerprintjs2,Javascript,Php,Fingerprintjs2,我喜欢把fingerprint作为php变量,我得到了下面的结果,但我不想工作 <p>fingerprint2: <strong id="fp2"></strong></p> <script src="/fingerprintjs2/fingerprint2.js"></script> <script> var fp2 = new Fingerprint2(); fp2.get(function
<p>fingerprint2: <strong id="fp2"></strong></p>
<script src="/fingerprintjs2/fingerprint2.js"></script>
<script>
var fp2 = new Fingerprint2();
fp2.get(function(result) {
console.log(result);
$("#fp2").text(result);
});
</script>
$myphpvar = "<script>document.write(fp2.get());</script>";
echo $myphpvar;
指纹2:
var fp2=新指纹2();
fp2.get(函数(结果){
控制台日志(结果);
$(“#fp2”)。文本(结果);
});
$myphpvar=“document.write(fp2.get());”;
echo$myphpvar;
Javascript在PHP完成后运行。客户端与服务器端代码。我过去通过在呈现图像的PHP文件中运行PHP解决了这个问题。这种方法通常被称为像素跟踪 以下是一些基础知识,您需要将Javascript中的变量传递给呈现图像的PHP文件:
document.write("<img src=fingerprint.php?x="+x+"&y="+y+" width=1 height=1>");
document.write(“”);
在上面的例子中,它将Javascript变量x和y传递给PHP图像
然后,fingerprint.php脚本如下所示:
<?php
header("Content-type: image/png");
session_start();
$x = $_REQUEST['x'];
$y = $_REQUEST['y'];
$_SESSION['x'] = $x;
$_SESSION['y'] = $y
// SHOW THE IMAGE
$im = imagecreatefrompng("fingerprint.png");
imagepng($im);
imagedestroy($im);
?>
png图像可以是您想要的任何图像,因为它在最终屏幕上只是一个1 x 1的图像。现在PHP中有了Javascript变量。当代码启动会话时,您可以将变量写入会话并稍后在另一个脚本中收集它们,或者将它们写入数据库并稍后恢复。请尝试使用我的简单示例,以确保它能够正常工作,然后从那里展开。这实际上根本不是PHP的工作方式。PHP无法处理客户端JavaScript。如果您希望在PHP中访问客户端信息,那么您可能应该将其放入一个表单中,并将其发布到PHP中的另一个页面。有很多关于PHP表单的好教程,例如。有很多方法可以从JavaScript服务器端发送数据
- 设置cookie并在下一个请求中读取它
- 通过注入script/IMG/iframe标记(但不使用document.write)在url查询中添加指纹来请求进一步的内容
- 发出AJAX请求
- 向页面上的表单添加隐藏输入-要求用户使用表单导航出页面