Javascript 如何重定向到上一级?

Javascript 如何重定向到上一级?,javascript,php,redirect,Javascript,Php,Redirect,params.php $minw = 640; <script> var minw = <?php echo $minw;?>; var w1 = document.documentElement.clientWidth; if (w1 < minw) {location.href = '../minw.php'}; </script> $minw=640; var minw=; var w1=document.documen

params.php

$minw = 640;

<script>
    var minw = <?php echo $minw;?>;
    var w1 = document.documentElement.clientWidth;
    if (w1 < minw) {location.href = '../minw.php'};
</script>
$minw=640;
var minw=;
var w1=document.documentElement.clientWidth;
如果(w1
params.php
minw.php
的路径是
localhost/x1/params.php
minw.php

params.php
包含在
stone.php
中,
stone.php
的路径是
localhost/x1/mem/stone.php

因此,我转到
stone.php
,屏幕宽度小于640

我收到了浏览器消息-
未找到对象
,在地址栏中看到:
localhost.minw.php

然后我在
params.php
中将代码
./minw.php
更改为
minw.php
/minw.php

再次转到
stone.php
,得到相同的浏览器消息,在地址栏中我看到
localhost/x1/mem/minw.php

那么,我怎样才能从
localhost/x1/mem/stone.php
重定向到
localhost/x1/minw.php

试试这个:

URL = location.href;
var URL = URL.replace("mem/stone.php", "minw.php");
var minw = <?php echo $minw;?>;
var w1 = document.documentElement.clientWidth;
if (w1 < minw) {location.href = URL};
URL=location.href;
var URL=URL.replace(“mem/stone.php”、“minw.php”);
var minw=;
var w1=document.documentElement.clientWidth;
如果(w1

编辑:我也没有检查你代码中的错误,所以要小心。我只检查是否有任何错误。因此,上面的所有新代码可能都是无错误的。

这里有一个新的答案,我认为它将帮助您:

$minw = 640;
echo '<script>
URL = location.href;
var URL = URL.replace("mem/stone.php", "minw.php");
var minw = '.$minw.';
var w1 = document.documentElement.clientWidth;
if (w1 < minw) {location.href = URL};
</script>';
$minw=640;
回声'
URL=location.href;
var URL=URL.replace(“mem/stone.php”、“minw.php”);
var minw='.$minw';
var w1=document.documentElement.clientWidth;
如果(w1
将PHP传递给JavaScript的方式非常糟糕。客户端语言和服务器语言之间的差异以及它们的加载方式可能会影响您在
location.href='../minw.php'
中的
stone.php
应该可以做到这一点。不确定为什么会看到
localhost.minw.php
@SterlingArcher,我使用js检查了变量。警报和它的工作。将它们从
php
传递到
js
的更好方法是什么?@Havenard,我同意,但无法解决这个谜团。如果服务器端生成所有客户端查看,请告诉我客户端在服务器端之前运行的准确程度?
文档。URL
已被弃用。使用
location.href
.MCRocks,谢谢,我会尝试您的解决方案,但我必须知道我的代码有什么问题。如果您将echo语句(我觉得这是一个糟糕的做法,但不是100%确定)包装在反引号中,您就不必转义字符串以放入变量。双引号可以解析,单引号是文字。我不想听起来粗鲁,但你应该小心,有效的方式不一定是最好的方式x