有什麼辦法可以刪除<head>
,將它放在一個.php文件中,然後在它的位置使用javascript if語句根據屏幕分辨率調用某個頭部?在JavaScript if語句中調用一個.php文件
現在我知道如何做顯而易見的if語句,並且我已經閱讀了JavaScript中由於客戶端與服務器端調用php的複雜性,但是在源代碼中我可以看到腳本出現,但不起作用。
任何想法?
有什麼辦法可以刪除<head>
,將它放在一個.php文件中,然後在它的位置使用javascript if語句根據屏幕分辨率調用某個頭部?在JavaScript if語句中調用一個.php文件
現在我知道如何做顯而易見的if語句,並且我已經閱讀了JavaScript中由於客戶端與服務器端調用php的複雜性,但是在源代碼中我可以看到腳本出現,但不起作用。
任何想法?
從您的評論,你說你要在頭改變了什麼是「主要的樣式表」,我認爲,要應用取決於屏幕分辨率不同的樣式表和/或一些其他條件。你可以做,但不是你描述的方式。試着像下面代替:
<html>
<head>
<script>
if (whateveryourconditionis) {
document.write('<link rel="stylesheet" href="sheet1.css" type="text/css">');
} else (someothercondition) {
document.write('<link rel="stylesheet" href="sheet2.css" type="text/css">');
document.write('<link rel="stylesheet" href="sheet3.css" type="text/css">');
} else {
document.write('<link rel="stylesheet" href="default.css" type="text/css">');
}
</script>
</head>
<body>
</body>
</html>
通常我不會建議document.write()
,但對於這種目的而頁面仍在加載它是完美的罰款,並比其它更簡單。如果你願意,你可以使用document.createElement();
,然後設置適當的屬性並將其附加到<head>
,但我不會打擾,除非你想在頁面加載後更改樣式表。
你也可以使用條件加載器庫,如YepNope.js(不要擔心它強調加載JS文件,它也會做CSS)。
相反,您可以嘗試使用在頭部加載後調用的JavaScript修改頭部。 javascript在加載頁面之後或加載頁面時在瀏覽器上運行,因此顯然頭部總是會先出現。但是你總是可以使用不同頭部的javascript加載另一個頁面。
所以你都可以page.php文件?類型= 1
和你的JavaScript將根據與不同的typeid任何邏輯重裝page.php文件加載和。
page.php將有一個if else塊,它將向瀏覽器打印不同的頭。
希望這有助於...
那麼頁面加載,然後它重新定向或頁面加載之前頭會改變? –
是的,頁面將不得不加載一次你做檢查的地方,否則你的腳本不會運行。但是重定向將工作得足夠快。你可以嵌入JavaScript調用,所以你不需要它被觸發。例如
要調用PHP腳本,請查找一些Ajax調用。例如下面的代碼:
<script type="text/javascript">
function _CallPHP() {
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
alert("PHP has been executed");
}
}
xmlhttp.open("GET","/phpscript.php",true);
xmlhttp.send();
}
</script>
這是我一直在研究的內容,如果Sid的解析無效,可能必須嘗試此操作。謝謝。 –
這不是這樣做的。根據屏幕分辨率的不同,您需要更改的「頭部」內容是什麼? –
主要樣式表。我之前做過一個不同的方式,但是當將不同的樣式表應用於7個以上的設備時會有點混亂。其中一些人不想在使用媒體=「屏幕時玩球...... –
頭部應該總是顯而易見的,你的解決方案沒有任何意義,也許你想解釋你的初始問題 – pimvdb