繁体   English   中英

PHP传递变量到新的Window.Open Javascript

[英]PHP Pass Variable to new Window.Open Javascript

我已经阅读了以下帖子,但它们对我来说有点过头了。 我想我正在尝试做一些相当简单的事情,并希望得到一些指导。

如何将变量和数据从PHP传递给JavaScript?

将PHP变量传递到javascript windows.open到另一个PHP页面

将php变量发布到新窗口

情况如下:

我有一个非常简单的PHP脚本,它调用另一个脚本并传递2个变量:

<?php
echo '<script type="text/javascript" language="javascript">
window.open("http://callpage.com/utils/cdr.php?callernum=123456789&calltime=2017-02-22 16:24:12");
</script>';
?>

注意:这只是一个“硬编码”的例子。

下一个脚本,获取这些数字并构建file / url变量。

让我们说

$file = /var/www/html/file.wav

我正在尝试做的事情打开一个新的窗口,以达到以下效果:

http://newpage.com/$file

我已经阅读并发现我认为最好用的是Javascript,但我似乎无法将我的变量放入Javascript中。

这是我想要的工作:

<?php 
$file = /var/www/html/file.wav
echo '<script type="text/javascript" language="javascript"> 
window.open("http://newpage.com/$file"); 
</script>'; 
?>

几点说明:

  • 我不想“重定向”旧页面,我希望它保持打开状态,并且远程页面不在同一个域中(一个是a.domain.com,另一个是b.domain.com)。
  • 我不关心窗口大小等,它是一个wav文件,我希望浏览器只使用Wav的简单浏览器默认界面。

如果我正确理解了你想要的东西,你必须将字符串与变量连接起来才能被替换

<?php
$file = '/var/www/html/file.wav';
echo '<script type="text/javascript" language="javascript"> 
          window.open("http://newpage.com/'.$file.'");
      </script>';
?>

在javascript中使用带有双引号的字符串插值和echo语句中的单引号:

echo "<script type='text/javascript' language='javascript'> 
window.open('http://newpage.com/$file'); 
</script>";

内插的PHP变量$ file应该被正确解释为一个字符串,它所拥有的值应该显示在你的javascript的URI中。 查看关于变量插值的这个易于理解的信息http://phppot.com/php/variable-interpolation-in-php/

这是我的“最终”代码段:

$query->execute();

while ($row = $query->fetch(PDO::FETCH_ASSOC))
 {
  $uid = $row['uniqueid'];

  foreach(glob($path. "*". $uid. "*") as $file) {
  $link = "http://newpage.com$file";

  echo "<script type='text/javascript' language='javascript'>
  window.open('$link');
  </script>";

  }
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM