php - PHP 代码中的 JavaScript 脚本标记

标签 php javascript

我有一个页面(父级)通过弹出窗口(子级)打开第二个页面

在第二页上,我有以下 PHP 代码,它从父页面获取 HTML 元素的值:

 $var=print_r("<script type='text/javascript'>var x=window.opener.document.getElementsByName('name1');document.write(x[0].value)</script>",true);   

当我回显变量 $var 时,我得到的正是我所期望的。因此:

echo "test=" . $test;

... 在页面上打印例如“费用”。

到目前为止一切顺利。

问题是当我尝试将此变量写入如下文件时:

$f=fopen("/mylog.txt","w+");
fwrite($f, $test);
fclose($f);

... 然后,而不是 $test 的实际值(例如费用),

我在我的日志文件中得到了整个脚本标签,因此:

<script type='text/javascript'>var x=window.opener.document.getElementsByName('name1');document.write(x[0].value)</script>

假设带有“true”参数的 print_r 将值返回到我的 $test 变量,为什么它要将确切的脚本标记写入日志文件?

我怎样才能克服这个问题?

最佳答案

当您向浏览器回显该值时,它将运行 JavaScript 并显示结果。

将其保存到文件时,不会执行 JavaScript。

在这两种情况下,都会输出完整的脚本,但浏览器实际上正在运行脚本,而您的文本编辑器不会。

关于php - PHP 代码中的 JavaScript 脚本标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15928892/

相关文章:

php - 如何将对象上下文传递给匿名函数?

javascript - 只是 .attr() 的一部分

php - 如何将用户提供的数量未知的库存商品选择添加到购物车?

javascript - 如何在 React 中将多个事件监听器从其父组件附加到子组件的同一事件?

javascript - Prism.js 不显示标记

php - 如何使用 php 或 jquery 读取本地计算机中的文件

php - 针对一组术语的 MySQL 正则表达式

php - 如何在点击时设置 Cookie?

php - 更新11M行数据库和my.cnf优化

javascript - 集成 Particle.js 和 Bootstrap