php in javascript


php in javascript

没有php部分的javascript工作得很好,但它需要重定向并保持链接信息如何做到这一点?

<script>
if(navigator.userAgent.indexOf("Firefox") != -1)
{
   window.location = "demo2.php?skin=<?php echo $_GET["skin"]; ?>";
}
</script>

:

<script>
if(navigator.userAgent.indexOf("Firefox") != -1)
{
   window.location = "demo2.php?skin=<?php echo $_GET['skin']; ?>";
}
</script>

窗口。Location是一个对象,将字符串赋值给一个对象对于可读性和维护来说都不是一个好兆头,尽管它可能会完美地工作。

使用window.location.href代替。

你的代码是正确的,我刚刚测试了它,它工作良好。为了复制您的问题,请将您的代码添加到JSFiddle中,看看如何进行。如果问题仍然存在,请将小提琴贴在这里,让我们看看。

     <?
       $skin = prepare($_GET['skin']);//escape your string etc
    ?>
<script>
    if (navigator.userAgent.indexOf("Firefox") !== -1)//note the two == 
    {   //use href as location reference. 
        window.location.href = "demo2.php?skin=<?php echo $skin; ?>";//access variable instead of global $_GET directly
    }
</script>

关于你的问题:

  1. (没有php部分工作得很好)php部分出了什么问题然后呢?
  2. (但它需要重定向并保留链接信息)什么信息?

我很抱歉,但我不清楚这些要点:当使用Firefox时,它会重定向吗?如果是,它是否重定向到正确的页面与预期的url?还是通过一个错误?如果是,谁抛出错误,PHP还是js?

n。b:既然你的问题是报价,你把整个JS块在PHP字符串?

试试这个:

<script>
if(navigator.userAgent.indexOf("Firefox") != -1)
{
    window.location = "demo2.php?skin=<?php echo $_GET['skin']; ?>";
}
</script>

有一个错误,因为你使用双引号"而不是单引号",所以字符串以"demo2.php?皮肤=