没有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>
关于你的问题:
- (没有php部分工作得很好)php部分出了什么问题然后呢?
- (但它需要重定向并保留链接信息)什么信息?
我很抱歉,但我不清楚这些要点:当使用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?皮肤=