有什么方法可以删除<head>
.php 文件,然后在其位置使用 javascript if 语句根据屏幕分辨率调用某个头部?
现在我知道如何执行明显的 if 语句,并且我已经阅读了由于客户端与服务器端而在 javascript 中调用 php 的复杂性,但是,在源代码中我可以看到脚本出现,但不起作用.
有任何想法吗?
有什么方法可以删除<head>
.php 文件,然后在其位置使用 javascript if 语句根据屏幕分辨率调用某个头部?
现在我知道如何执行明显的 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?type=1
并且您的 javascript 将加载并基于具有不同 typeid 的任何逻辑重新加载 page.php。
page.php 将有一个 if else 块,它将向浏览器打印不同的头。
希望这可以帮助...
要调用 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>