- 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/
这是我的测试用例。 http://tobeythorn.com/isi/dummy2.svg http://tobeythorn.com/isi/isitest.html 如果我自己打开 svg,内部
这是我的测试用例。 http://tobeythorn.com/isi/dummy2.svg http://tobeythorn.com/isi/isitest.html 如果我自己打开 svg,内部
我正在尝试做类似的事情: SELECT SUM( CASE WHEN ( AND EXISTS(SELECT 1
我想问如何在外部 ng-repeat 内部正确使用内部 ng-repeat: 这意味着你想使用这样的东西: {{milestone.id}} {{
我希望在 wordpress 的仪表板内编辑 css 样式并且如果可能的话不必编辑 php 文件。 我知道至少可以编辑一些属性,所以我希望我可以直接在仪表板中编辑所有属性。 更具体地说如何更改自定义类
我在安装在 windows10 上的 vmware 中的 Ubuntu 上安装了伪分布式独立 hadoop 版本。 我从网上下载了一个文件,复制到ubuntu本地目录/lab/data 我在 ubun
我有一个如下所示的 WHERE 语句: WHERE ((@Value1 IS NULL AND [value1_id] IS NULL) OR [value1_id] = ISNULL(@Va
我有一个如下所示的 WHERE 语句: WHERE ((@Value1 IS NULL AND [value1_id] IS NULL) OR [value1_id] = ISNULL(@Va
在我的一些测试帮助程序代码中,我有一个名为 FakeDbSet(Of T) 的 IDbSet(Of T) 实现,它模拟了许多 EF 行为,但没有实际的数据库。我将类声明为 Friend ,因为我想强制
我正在寻找 Cassandra/CQL 的常见 SQL 习语 INSERT INTO ... SELECT ... FROM ... 的表亲。并且一直无法找到任何以编程方式或在 CQL 中执行此类操作
如何防止内部 while 循环无限运行?问题是,如果没有外部 while 循环,内部循环将毫无问题地运行。我知道它必须对外循环执行某些操作,但我无法弄清楚是什么导致了问题。 import java.u
我正在努力学习更多有关 C++ 的知识,但在国际象棋程序中遇到了一些代码,需要帮助才能理解。我有一个 union ,例如: union b_union { Bitboard b; st
这是我项目网页中的代码片段。这里我想显示用户选择的类别,然后想显示属于该类别的主题。在那里,用户可以拥有多个类别,这没有问题。我可以在第一个 while 循环中打印所有这些类别。问题是当我尝试打印主题
我想知道如何在 swing 中显示内部框架。这意味着,当需要 JFrame 时,通常我所做的是, new MyJFrame().setVisible(true); 假设之前的表单也应该显示。当显示这个
我最近发现了一些有趣的行为,这让我想知道对象如何知道存在哪些全局变量。例如,假设我有一个文件“test.py”: globalVar = 1 toDelete = 2 class Test(objec
我知道它已经在这里得到回答: google maps drag and drop objects into google maps from outside the Map ,但这并不完全是我所需要的
我目前正在学习Javascript DOM和innerHTML,发现在理解innerHTML方面存在一些问题。 这是我的代码:http://jsfiddle.net/hphchan/bfjx1w70/
我构建了一个布局如下的库: lib/ private_class_impl.cc private_class_decl.h public_class_impl.cc include/
我有一个使用 bootstrap 3 的组合 wordpress 网站。它基本上是一个图像网格。当屏幕展开时,它会从三列变为四列。移动时它是一列。 我想出了如何调整图像的顶部和底部边距,但我希望图像的
我正在试用 MSP-EXP430G2 的教程程序,使用 Code Composer Studio 使 LED 闪烁。最初,它有一个闪烁的无限循环: for(;;) // This emp
我是一名优秀的程序员,十分优秀!