如果满足条件,我想在我的javascript代码中包含一个名为top.php的php fie。这是用于检查浏览器版本的代码。我需要的是检查浏览器名称,如果它的chrome只需要显示top.php文件。但是在每个浏览器的代码中都包含该页面。
<script type="text/javascript">
var nVer = navigator.appVersion;
var nAgt = navigator.userAgent;
var browserName = navigator.appName;
var fullVersion = ''+parseFloat(navigator.appVersion);
var majorVersion = parseInt(navigator.appVersion,10);
var nameOffset,verOffset,ix;
// In Opera, the true version is after "Opera" or after "Version"
if ((verOffset=nAgt.indexOf("Opera"))!=-1) {
browserName = "Opera";
fullVersion = nAgt.substring(verOffset+6);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion = nAgt.substring(verOffset+8);
}
// In MSIE, the true version is after "MSIE" in userAgent
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
browserName = "Microsoft Internet Explorer";
fullVersion = nAgt.substring(verOffset+5);
}
// In Chrome, the true version is after "Chrome"
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {
browserName = "Chrome";
fullVersion = nAgt.substring(verOffset+7);
}
// In Safari, the true version is after "Safari" or after "Version"
else if ((verOffset=nAgt.indexOf("Safari"))!=-1) {
browserName = "Safari";
fullVersion = nAgt.substring(verOffset+7);
if ((verOffset=nAgt.indexOf("Version"))!=-1)
fullVersion = nAgt.substring(verOffset+8);
}
// In Firefox, the true version is after "Firefox"
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {
browserName = "Firefox";
fullVersion = nAgt.substring(verOffset+8);
}
// In most other browsers, "name/version" is at the end of userAgent
else if ( (nameOffset=nAgt.lastIndexOf(' ')+1) <
(verOffset=nAgt.lastIndexOf('/')) )
{
browserName = nAgt.substring(nameOffset,verOffset);
fullVersion = nAgt.substring(verOffset+1);
if (browserName.toLowerCase()==browserName.toUpperCase()) {
browserName = navigator.appName;
}
}
// trim the fullVersion string at semicolon/space if present
if ((ix=fullVersion.indexOf(";"))!=-1)
fullVersion=fullVersion.substring(0,ix);
if ((ix=fullVersion.indexOf(" "))!=-1)
fullVersion=fullVersion.substring(0,ix);
majorVersion = parseInt(''+fullVersion,10);
if (isNaN(majorVersion)) {
fullVersion = ''+parseFloat(navigator.appVersion);
majorVersion = parseInt(navigator.appVersion,10);
}
document.write(''
+'Browser name = '+browserName+'<br>'
+'Full version = '+fullVersion+'<br>'
+'Major version = '+majorVersion+'<br>'
+'navigator.appName = '+navigator.appName+'<br>'
+'navigator.userAgent = '+navigator.userAgent+'<br>'
)
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
document.write('Your OS: '+OSName+'<br>');
if(browserName == 'Chrome')
{
document.write("u r using chrome "+fullVersion);
<?php include("top.php") ?> ;
}
else {
alert("Not chrome");
}
</script>
答案 0 :(得分:2)
你不能也不应该。浏览器不执行任何PHP代码。
我需要的是检查浏览器名称,如果它的chrome只需要显示top.php文件。但是在每个浏览器的代码中都包含该页面。
我反对在服务器端执行此类操作,但如果必须,您可以尝试通过检查请求标头来检查浏览器。
尝试检查$_SERVER['HTTP_USER_AGENT']
。
答案 1 :(得分:1)
PHP是一种服务器端语言。它在服务器内部运行。
Javascript是客户端语言。从某种意义上说,它在浏览器中运行
您不能在客户端包含aphp文件。浏览器只能理解html,js css等
您必须检查服务器阵列中的用户代理并相应地加载页面。
可以使用$ _ SERVER [ 'HTTP_USER_AGENT'];或getBrowser()
答案 2 :(得分:1)
为了破译用户正在使用的浏览器,并根据结果包含单独的PHP文件,您可以使用$_SERVER['HTTP_USER_AGENT'];
甚至内置的getBrowser()
函数 - http://php.net/manual/en/function.get-browser.php < / p>
<?php
$browser = get_browser(null, true);
print_r($browser);
?>
此代码应该为您提供类似于此的数组 -
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3
Array
(
[browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
[parent] => Firefox 0.9
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
[majorver] => 0
[minorver] => 9
[cssversion] => 2
...
)
然后,您可以测试以查看您的用户正在使用的浏览器,并相应地包含单独的文件。
答案 3 :(得分:0)
不可能在js文件中包含php代码。根据我的最佳方式是
将这个js脚本放在头部,而不是检查条件浏览器。
if(browser =='chrome')
{
document.getElementById('top').style.display='block';
}
else
{
document.getElementById('top').style.display='none';
}
<div id='top'>
<?php require_once("top.php"); ?>
</div>