- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
请有人告诉我我做错了什么?因为,js 代码本身就可以工作。当我将它放入 php 时,它无法被识别。
是if条件错误还是引号的问题。我不明白问题出在哪里。
只是一个 PHP if 语句,用于检查我们是否在该页面上运行该 js 代码。我尝试使用heredoc而不是引号,但结果是相同的。
if ($_SERVER['REQUEST_URI'] == 'http://us-airquality.com/index.php/locations/') {
echo '
<script>
window.onload = getMyLocation;
// var ourCoords = {
// latitude : 47.624851,
// longitude: -122.52099
// }
var cities = {
"1":{
"name":"Jacksonville",
"coords":{
latitude : 30.3322,
longitude: 81.6557
},
"url":"http://us-airquality.com/index.php/locations/jacksonville/"
},
"2":{
"name":"SF Peninsula",
"coords":{
latitude : 37.4615,
longitude: 122.3108
},
"url":"http://us-airquality.com/index.php/locations/sfpeninsula/"
},
"3":{
"name":"Atlanta",
"coords":{
latitude : 33.7490,
longitude: 84.3880
},
"url":"http://us-airquality.com/index.php/locations/atlanta/"
},
"4":{
"name":"Maryland",
"coords":{
latitude : 39.0458,
longitude: 76.6413
},
"url":"http://us-airquality.com/index.php/locations/maryland/"
},
"5":{
"name":"Houston",
"coords":{
latitude : 29.7604,
longitude: 95.3698
},
"url":"http://us-airquality.com/index.php/locations/huston/"
},
"6":{
"name":"San Jose",
"coords":{
latitude : 37.20,
longitude: 121.54
},
"url":"http://us-airquality.com/index.php/locations/san-joseeast-bay/"
},
"7":{
"name":"New Jersey",
"coords":{
latitude : 40.0583,
longitude: 74.4057
},
"url":"http://us-airquality.com/index.php/locations/new-jersey/"
},
"8":{
"name":"Seattle",
"coords":{
latitude : 47.6062,
longitude: 122.3321
},
"url":"http://us-airquality.com/index.php/locations/seattle/"
},
"9":{
"name":"Dallas",
"coords":{
latitude : 32.7767,
longitude: 96.7970
},
"url":"http://us-airquality.com/index.php/locations/dallas/"
},
"10":{
"name":"Pennsylvania",
"coords":{
latitude : 41.2033,
longitude: 77.1945
},
"url":"http://us-airquality.com/index.php/locations/pennsylvania/"
},
"11":{
"name":"Chicago",
"coords":{
latitude : 41.8781,
longitude: 87.6298
},
"url":"http://us-airquality.com/index.php/locations/chicago/"
},
"12":{
"name":"New Jersey – North",
"coords":{
latitude : 40.0583,
longitude: 74.4057
},
"url":"http://us-airquality.com/index.php/locations/new-jersey-north/"
},
"13":{
"name":"Orlando",
"coords":{
latitude : 28.5383,
longitude: 81.3792
},
"url":"http://us-airquality.com/index.php/locations/orlando/"
},
"14":{
"name":"San Jose",
"coords":{
latitude : 25.7617,
longitude: 80.1918
},
"url":"http://us-airquality.com/index.php/locations/miamibrowardwp/"
}
};
function getMyLocation() {
// check if the browser supports Geolocation API
if (navigator.geolocation) {
// we call the getCurrentPosition method and pass in a handler function, displayLocation
navigator.geolocation.getCurrentPosition(displayLocation, displayErrors);
} else {
alert("No geolocation support by your browser!");
}
}
// Function called when the browser has a location
// position contains the latitude and longitude of your location
function displayLocation(position) {
// grab the latitude and longitude of your location from the position object and his .coords property
var latitude = position.coords.latitude;
var longitude = position.coords.longitude;
// var div = document.getElementById("location");
// div.innerHTML = "You are at Latitude: " + latitude + ", Longitude: " + longitude;
//var km = computeDistance(position.coords, ourCoords);
var arrKMs = [];
for (var city in cities)
{
//var cityName=cities[city].name;
var cityCoords=cities[city].coords;
arrKMs[city] = computeDistance(position.coords, cityCoords);
var kmm= computeDistance(position.coords, cities[city].coords);
}
//get minimal value
var index = 0;
var value = 100000000;
for (var ind in arrKMs)
{//alert(ind + " - " + arrKMs[ind]);
if (parseFloat(arrKMs[ind]) < value)
{
value = arrKMs[ind];
index = ind;
}
}
window.location.replace(cities[index].url);
//alert(cities[index].url);
// var distance = document.getElementById("distance");
// distance.innerHTML = "You are " + arrKMs[index] + " km from our Company";
// var url_address = document.getElementById("url_address");
// url_address.innerHTML = "web site found: " + cities[index].url;
// showMap(position.coords);
}
// Handler which is passed an error by the Geolocation API
function displayErrors(error) {
var errorTypes = {
0: "Unknown error",
1: "Permision denied by user",
2: "Position is not available... ",
3: "Request timed out"
};
// using the error.code property, we assign one of those strings(0, 1, 2, 3) to a new variable, errorMessage
var errorMessage = errorTypes[error.code];
// In the case of errors zero and two, there is sometimes additional information in the error.message property, so we add that to our errorMessage string
if (error.code == 0 || error.code == 2) {
errorMessage = errorMessage + " " + error.message;
}
var div = document.getElementById("location");
// we add the message to the page to let the user know
div.innerHTML = errorMessage;
}
// This function takes two coordinates, a start coodinate and a destination coordinate, and returns the distance in kilometers between them
function computeDistance(startCoords, destCoords) {
var startLatRads = degreesToRadians(startCoords.latitude);
var startLongRads = degreesToRadians(startCoords.longitude);
var destLatRads = degreesToRadians(destCoords.latitude);
var destLongRads = degreesToRadians(destCoords.longitude);
// radius of the Earth in km
var Radius = 6371;
var distance = Math.acos(Math.sin(startLatRads) * Math.sin(destLatRads) +
Math.cos(startLatRads) * Math.cos(destLatRads) *
Math.cos(startLongRads - destLongRads)) * Radius;
return distance;
}
function degreesToRadians(degrees) {
var radians = (degrees * Math.PI)/180;
return radians;
}
var map;
function showMap(coords) {
var googleLatAndLong = new google.maps.LatLng(coords.latitude,coords.longitude);
var mapOptions = {
zoom: 10,
center: googleLatAndLong,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var mapDiv = document.getElementById("map");
map = new google.maps.Map(mapDiv, mapOptions);
// add the user marker
var title = "Your Location";
var content = "You are here: " + coords.latitude + ", " + coords.longitude;
addMarker(map, googleLatAndLong, title, content);
}
// shows with a pin where are you
function addMarker(map, latlong, title, content) {
var markerOptions = {
position: latlong,
map: map,
title: title,
clickable: true
};
var marker = new google.maps.Marker(markerOptions);
var infoWindowOptions = {
content: content,
position: latlong
};
var infoWindow = new google.maps.InfoWindow(infoWindowOptions);
google.maps.event.addListener(marker, \'click\', function() {
infoWindow.open(map);
});
}
</script>';
}
最佳答案
$_SERVER['REQUEST_URI']
通常不包含域,除非您使用代理服务器。请针对您的 if
条件尝试以下操作:
if ($_SERVER['REQUEST_URI'] == '/index.php/locations/') {
关于PHP 内部无法识别 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38610637/
我在 JavaScript 文件中运行 PHP,例如...... var = '';). 我需要使用 JavaScript 来扫描字符串中的 PHP 定界符(打开和关闭 PHP 的 )。 我已经知道使
我希望能够做这样的事情: php --determine-oldest-supported-php-version test.php 并得到这个输出: 7.2 也就是说,php 二进制检查 test.
我正在开发一个目前不使用任何框架的大型 php 站点。我的大问题是,随着时间的推移慢慢尝试将框架融入应用程序是否可取,例如在创建的新部件和更新的旧部件中? 比如所有的页面都是直接通过url服务的,有几
下面是我的源代码,我想在同一页面顶部的另一个 php 脚本中使用位于底部 php 脚本的变量 $r1。我需要一个简单的解决方案来解决这个问题。我想在代码中存在的更新查询中使用该变量。 $name)
我正在制作一个网站,根据不同的情况进行大量 PHP 重定向。就像这样...... header("Location: somesite.com/redirectedpage.php"); 为了安全起见
我有一个旧网站,我的 php 标签从 因为短标签已经显示出安全问题,并且在未来的版本中将不被支持。 关于php - 如何避免在 php 文件中写入
我有一个用 PHP 编写的配置文件,如下所示, 所以我想用PHP开发一个接口(interface),它可以编辑文件值,如$WEBPATH , $ACCOUNTPATH和 const值(value)观
我试图制作一个登录页面来学习基本的PHP,首先我希望我的独立PHP文件存储HTML文件的输入(带有表单),但是当我按下按钮时(触发POST到PHP脚本) )我一直收到令人不愉快的错误。 我已经搜索了S
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is the max key size for an array in PHP? 正如标题所说,我想知道
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我在 MySQL 数据库中有一个表,其中存储餐厅在每个工作日和时段提供的菜单。 表结构如下: i_type i_name i_cost i_day i_start i_
我有两页。 test1.php 和 test2.php。 我想做的就是在 test1.php 上点击提交,并将 test2.php 显示在 div 中。这实际上工作正常,但我需要向 test2.php
我得到了这个代码。我想通过textarea更新mysql。我在textarea中回显我的MySQL,但我不知道如何更新它,我应该把所有东西都放进去吗,因为_GET模式没有给我任何东西,我也尝试_GET
首先,我是 php 的新手,所以我仍在努力学习。我在 Wordpress 上创建了一个表单,我想将值插入一个表(data_test 表,我已经管理了),然后从 data_test 表中获取所有列(id
我有以下函数可以清理用户或网址的输入: function SanitizeString($var) { $var=stripslashes($var); $va
我有一个 html 页面,它使用 php 文件查询数据库,然后让用户登录,否则拒绝访问。我遇到的问题是它只是重定向到 php 文件的 url,并且从不对发生的事情提供反馈。这是我第一次使用 html、
我有一个页面充满了指向 pdf 的链接,我想跟踪哪些链接被单击。我以为我可以做如下的事情,但遇到了问题: query($sql); if($result){
我正在使用 从外部文本文件加载 HTML/PHP 代码 $f = fopen($filename, "r"); while ($line = fgets($f, 4096)) { print $l
我是一名优秀的程序员,十分优秀!