v2.5.2
Giriş yap

javascript içinden php ye değişken değeri atama

pcmemo
2,210 defa görüntülendi

Merhaba arkadaşlar aşağıdaki javascript anlık olarak tarayıcının boyutunu gösteriyor.
Bu javascript içinde yükseklik ve genişlik değerlerini birer php değişkenine atayabilir miyiz?

<p id="ViewPortSize"> </p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script>
function GetViewPortSize() {
$('#ViewPortSize').text("Width = " + $( window ).width() + " / Height = " + $( window ).height());   /* <!doctype html> may be necessary */
}

/* Execute "GetViewPortSize" function at page load */
$(GetViewPortSize);

/* Execute "GetViewPortSize" function everytime the browser viewport is resized */
$( window ).resize(GetViewPortSize);
</script>
Cevap yaz
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Cevaplar (6)
pcmemo
1734 gün önce

Cevaplayan tüm arkadaşlarımam teşekkür ediyorum. css tarafındna başlayarak deneyeceğim. Tekrar teşekkür ederim.

tayfunerbilen
1734 gün önce

front-end tarafını ilgilendiren konularda php yerine css'i kullanabilirsin. neden @media sorgularını kullanarak bunu yapmıyorsun?

iframe.youtube-video {
    width: 700px;
    height: 300px;
}
@media(max-width: 700px){
    iframe.youtube-video {
        width: 100%;
        height: 280px;
    }
}
CSS

gibi..

farukdst
1734 gün önce

Bir şekilde php değişkene aktardığını varsayalım, örneğin tayfunun dediği gibi cookiede tutarak.
Javascriptte resize kullandığın için dinamik olarak her değişiklikte istek yollamak zorunda kalcaksın ve dediği gibi şişme yapacak.

Çözünürlüğe göre veri sayısı belirlemek istiyorsan alternatif olarak; örneğin içinde 10 tane veri olan bir div ve 5 tane veri olan bir divin olabilir ve bunları çözünürlüğe göre show|hide yapabilirsin.
Veya yine çözünürlüğe göre örneğin width 650den küçükse 5.den sonraki divleri hide yapabilirsin

Iframe veya başka bir elemanın boyutu için zaten phpye ihtiyacın yok.

pcmemo
1734 gün önce

o zaman şöyle sorayım, bazı durumlarda ekran çözünürlüğüne ihtiyacım oluyor.
Mesela listeleme yaptığım sayfalarda sayfa başı gösterilecek adeti ekran yüksekliğine göre ayarlamak istiyorum.
bu örnekler çoğaltılabilir bir örnek daha vereyim, ifarme ile youtube video gösterdiğim sayfalar mobil cihazlarda farklı çözünürlüklerde ıkıyor bu sebeple çözünürlüğü bilirsem o değişkene göre farklı değerler vererek doğru görünmesini sağlarım.

tayfunerbilen
1735 gün önce

bu değerlerle javascript tarafında cookie oluşturabilirsin. php tarafında da şöyle bir işlem yapabilirsin;

$width = $_COOKIE['width'];
PHP

ama tabi nerede nasıl kullanacağına bağlı, ajaxlada her seferinde gönderebilirsin ama çok gereksiz bir request isteği birikir ve şişmeye başlar.

makifgokce
1735 gün önce

JQuery ile post veya get yöntemiyle halledebilirsin.

var post = function() {
        $.ajax(
            {
                url: "ajax.php",
                type: "POST",
                data: { width: $( window ).width(), height: $( window ).height()}
            })
            .then(function (data)
            {
                console.log( data );
            },
            function (xhr, status, error)
            {
                console.log(status + ": " + error);
            });
    }
JavaScript

ajax.php

if(isset($_POST['width']) && isset($_POST['height'])){
    $width = $_POST['width'];
    $height = $_POST['height'];
    echo "width = $width, height = $height";
}
PHP