2014-10-01 19 views
0

Я пытаюсь получить ширину браузера, а затем сравнить его как переменную php, но она сохраняет ее как строку, я попытался разделить ее на другую переменную, но она возвращает только 0.сохранить jscript целое число как целое число php

$tam='<script>var j= $(window).width(); document.write(j)</script>'; 

Я делаю разбор так:

$ntam=(int) $tam; 
+3

вы знаете, что код PHP выполняется на сервере, а Javascript выполняется на клиенте (браузер)? Здесь $ tam в PHP всегда будет строкой. Ни больше ни меньше. – laruiss

+0

, так что нет возможности разобрать переменную? –

ответ

-1

Ваш скрипт должен возвращать ширину, и она должна быть функцией

 <script> 
     var tam= function() 
      { 
       var j= $(window).width(); 
       document.write(j) 
       return $(window).width(); 
      } 
     var ntam = tam; 
     </script> 
+0

извините за все изменения. Я все время отсутствовал. –

+0

Даже при игнорировании проблемы, что php является стороной на стороне сервера и js, ваш код не будет воспринимать. –

+0

ОК, да, я изменил код, чтобы он выглядел как функция, дело в том, что ntam должна быть переменной php int, возможно ли это? –

0

Вы не можете сохранить значение 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 

    } 
?> 
Смежные вопросы