PHP将变量传递给新的Window.Open Javascript

时间:2017-02-28 01:03:28

标签: javascript php variables

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

How to pass variables and data from PHP to JavaScript?

passing PHP variables across javascript windows.open to another PHP page

Posting a php variable to a new window

情况如下:

我有一个非常简单的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的简单浏览器默认界面。

3 个答案:

答案 0 :(得分:2)

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

history -s "$command"

答案 1 :(得分:1)

对于echo语句使用带双引号的字符串插值,并在javascript中使用单引号:

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/

的这个易于理解的信息

答案 2 :(得分:0)

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

$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>";

  }
 }