我試圖獲得瀏覽器的寬度,然後將它作爲一個PHP變量進行比較,但它將它保存爲一個字符串,我試着解析它到另一個變量,但它只返回0。保存jscript整數作爲一個PHP整數
$tam='<script>var j= $(window).width(); document.write(j)</script>';
我做的分析是這樣的:
$ntam=(int) $tam;
我試圖獲得瀏覽器的寬度,然後將它作爲一個PHP變量進行比較,但它將它保存爲一個字符串,我試着解析它到另一個變量,但它只返回0。保存jscript整數作爲一個PHP整數
$tam='<script>var j= $(window).width(); document.write(j)</script>';
我做的分析是這樣的:
$ntam=(int) $tam;
你的腳本需要返回的寬度和它需要的功能
<script>
var tam= function()
{
var j= $(window).width();
document.write(j)
return $(window).width();
}
var ntam = tam;
</script>
抱歉所有的編輯。我一直丟失的東西 – 2014-10-01 17:58:28
即使忽略php是服務器端和js客戶端的問題,你的代碼也不會使敏感。 – 2014-10-01 18:05:19
好的,是的,我修改了代碼,使它看起來像一個函數,事情是,ntam應該是一個php int變量,它是否可行? – 2014-10-01 18:05:30
您無法直接將javascript值保存到php變量中。但你可以......將php值放入一個javascript變量中,並使用它來使用javascript進行更改。
<?php echo '<script type="text/javascript">var jVar = "$phpVar";'; ?>
如果您要從js文件導入您的腳本,您需要在導入或課程之前添加此腳本。
而且我不知道你想什麼來完成,但如果你需要一個js值可以隨時發送郵件使用Ajax請求該值...
var ajax = new XMLHttpRequest();
var form = new FormData();
form.append('win_size',window.innerWidth);
ajax.open("http://example.com/processJSWindowSize.php","POST",true);
ajax.send(form);
在服務器端的代碼,在這個例子中processJSWindowSize.php,你可以沿着
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
$jsWindowSize = strip_tags(stripslashes($_POST['win_size']));
//do what you need with the window size
}
?>
行您是否知道PHP代碼在服務器上執行,而JavaScript是在客戶端(瀏覽器)上執行的東西嗎? 在這裏,PHP中的$ tam將始終是一個字符串。沒有更多,沒有更多。 – laruiss 2014-10-01 17:58:25
所以沒有辦法解析變量? – 2014-10-01 18:06:01