簡體   English   中英

根據屏幕寬度大小包括PHP

[英]Including PHP depending on screen width size

我讀了很多關於它的內容,我也做了很多嘗試……我幾乎認為這是可能的,但是我需要您的幫助。

我想根據屏幕寬度加載一些內容。 這是一個帶有社交網絡共享按鈕的粘性導航欄(通常在Twitter上,例如在facebook上)。

使用此代碼,可以完美地加載html。 但是里面沒有腳本。 當光標在徽標上方時,我使用jQuery動畫顯示按鈕,並且按鈕使用javascript正常工作。 但是,以這種方式加載,就好像該html中沒有腳本。

$(function () {
   var width = $(window).width();
   if (document.documentElement.clientWidth >= 992) 
      $('#Navbar').load('navbar.html');
});

然后,我嘗試使用PHP。 一個簡單的include()起作用了。 導航欄已按預期方式加載。

由於PHP無法知道屏幕寬度(並且由於我使用的是引導程序,因此我會遵循它的屏幕尺寸),所以我認為我可以做到這一點(將.html更改為.php,都一樣)

$('#NavBar').append('<?php include "navbar.php"; ?>');

但這是行不通的。

有沒有一種使用jQuery的方法來調用include() 或任何其他方式可以使這項工作?

媒體查詢和display: hidden不是選項。 我不想加載內容並保持隱藏狀態。 我只想在需要時加載它。

這是兩種完全不同的編程語言,因此您無法從JavaScript調用php函數。

但您可以使用某些參數或某種新的網址調用頁面的重新加載,以使其與php一起使用。

單頁php網站示例:

<html>
<head>
<!--Your Stuff-->
</head>
<body>
<?php
  //access the parameter and it's value with php's global $_GET
  if(isset($_GET["mobile"]) && $_GET["mobile"] == 992){
    include "navbar.php";
  }
?>
<script>
//check if the document has the specified width and also if the parameter is already set
if (document.documentElement.clientWidth >= 992 && window.location.href.indexOf("?mobile=992") == -1) {
  window.location.href = window.location.href + "?mobile=992";
}
</script>
</body>
</html>

如果您在網站上沒有任何其他get參數,並且navbar.php僅包含有效的html內容,則上面的示例適用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM