2013-08-01 2 views
1

Я пытаюсь получить ширину экрана в переменной PHP через запрос Ajax.Получение значения ширины экрана в переменной PHP с использованием Ajax

JS файл:

function screen() { 
    var xmlhttp; 
    var sWidth=window.screen.width; 
    if(window.XMLHttpRequest) { 
     xmlhttp=new XMLHttpRequest(); 
    } else { 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.open("GET", "screen.php?width="+sWidth, true); 
    xmlhttp.send(); 
} 
window.onload=screen(); 

PHP файл:

<?PHP 
$screen=$_GET["width"]; 
echo $screen; 
?> 

Но в конце концов, это показывает, что неопределенную 'ширина'. Помощь

+0

window.innerWidth – Dale

+0

FYI: видимая часть окна браузера, называется 'viewport' – NDM

ответ

1
var sWidth = window.screen.width; 
alert("sWidth is: " + sWidth); 
var xhttp = new XMLHttpRequest(); 
var url = "screen.php?width=" + sWidth; 
xhttp.open("GET", url, true); 
xhttp.onload = function() { 
    alert("Result: " + xhttp.responseText); 
}; 
alert("Sending: " + url); 
xhttp.send(null); 

Кажется, работает отлично. в FF или IE9 Никаких проблем http://jsfiddle.net/JsHaw/1/

0

Попробуйте

var sWidth=window.innerWidth; 

docs here

Надеется, что это поможет

0

Это должно работать:

function screen() { 
    var xmlhttp; 
    var sWidth=window.innerWidth; 

    if(window.XMLHttpRequest) { 
     xmlhttp=new XMLHttpRequest(); 
    } else { 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    xmlhttp.open("GET", "screen.php?width="+sWidth, true); 
    xmlhttp.send(); 
} 
window.onload=screen(); 
Смежные вопросы