插入 php 代码后地图页面变为空白
map page becomes blank after inserting php code
在信息window 内容中插入 php 代码后,我的 gmap 页面变成空白。
google.maps.event.addListener(noi, 'mouseover', function() {
var infowindow = new google.maps.InfoWindow({
content: '<?php
if ($count==0){
echo "No Open Tickets";
}
else{
echo "<table>";
foreach ($NOIcompliancearray as $SLA_Compliance=>$count) {
$Npath = $Nimages[$SLA_Compliance];
echo "<tr>";
echo "<td><a href='city.php?city=Noida&compliance=".$SLA_Compliance."'><img src='IndiaImages/".$Npath."' title='".$SLA_Compliance."' ></td>";
echo "<td>".$count."</td>";
echo "</tr>";
}
echo "</table>";
}
?>'
size: new google.maps.Size(100,100),
});
google.maps.event.addListener(noi, 'mouseover', function() {
infowindow.open(map,noi);
setTimeout(function() { infowindow.close(map, noi) }, 5000);
});
如果我用一些静态内容替换 php 代码,它就可以正常工作。此外,当我尝试打开网页源代码时,它给出了我想在信息 window 中看到的结果。我不确定我哪里出错了。
网页源码输出:
内容:
'<table><tr><td><a href='city.php?city=Noida&compliance=A'><img src='IndiaImages/Circle_Red.gif' title='A' ></td><td>3</td></tr><tr><td><a href='city.php?city=Noida&compliance=C'><img src='IndiaImages/Circle_Yellow.gif' title='C' ></td><td>10</td></tr></table>Noida'
请帮助我理解错误并缓解问题。
看函数
google.maps.event.addListener(noi, 'mouseover', function() {
var infowindow = new google.maps.InfoWindow({
content: '...'
size: new google.maps.Size(100,100),
});
与php你得到
google.maps.event.addListener(noi, 'mouseover', function() {
var infowindow = new google.maps.InfoWindow({
content: '<table>
<tr>
<td><a href='
// 'city.php?city=......' is after content : string ending sign `'` will be ignored by function !
size: new google.maps.Size(100,100),
});
由php
生成的第一个'
将被解释为字符串的结尾
其余的将在 html 来源中。你可以看到它但被函数忽略了。
所以不要在那种代码中使用 '
。
echo "<td><a href='city.php?city=Noida&compliance=".$SLA_Compliance."'>
改为转义 "
符号
echo "<td><a href=\"city.php?city=Noida&ompliance=\"".$SLA_Compliance."\">"
转义"
look here
在信息window 内容中插入 php 代码后,我的 gmap 页面变成空白。
google.maps.event.addListener(noi, 'mouseover', function() {
var infowindow = new google.maps.InfoWindow({
content: '<?php
if ($count==0){
echo "No Open Tickets";
}
else{
echo "<table>";
foreach ($NOIcompliancearray as $SLA_Compliance=>$count) {
$Npath = $Nimages[$SLA_Compliance];
echo "<tr>";
echo "<td><a href='city.php?city=Noida&compliance=".$SLA_Compliance."'><img src='IndiaImages/".$Npath."' title='".$SLA_Compliance."' ></td>";
echo "<td>".$count."</td>";
echo "</tr>";
}
echo "</table>";
}
?>'
size: new google.maps.Size(100,100),
});
google.maps.event.addListener(noi, 'mouseover', function() {
infowindow.open(map,noi);
setTimeout(function() { infowindow.close(map, noi) }, 5000);
});
如果我用一些静态内容替换 php 代码,它就可以正常工作。此外,当我尝试打开网页源代码时,它给出了我想在信息 window 中看到的结果。我不确定我哪里出错了。
网页源码输出: 内容:
'<table><tr><td><a href='city.php?city=Noida&compliance=A'><img src='IndiaImages/Circle_Red.gif' title='A' ></td><td>3</td></tr><tr><td><a href='city.php?city=Noida&compliance=C'><img src='IndiaImages/Circle_Yellow.gif' title='C' ></td><td>10</td></tr></table>Noida'
请帮助我理解错误并缓解问题。
看函数
google.maps.event.addListener(noi, 'mouseover', function() {
var infowindow = new google.maps.InfoWindow({
content: '...'
size: new google.maps.Size(100,100),
});
与php你得到
google.maps.event.addListener(noi, 'mouseover', function() {
var infowindow = new google.maps.InfoWindow({
content: '<table>
<tr>
<td><a href='
// 'city.php?city=......' is after content : string ending sign `'` will be ignored by function !
size: new google.maps.Size(100,100),
});
由php
生成的第一个'
将被解释为字符串的结尾
其余的将在 html 来源中。你可以看到它但被函数忽略了。
所以不要在那种代码中使用 '
。
echo "<td><a href='city.php?city=Noida&compliance=".$SLA_Compliance."'>
改为转义 "
符号
echo "<td><a href=\"city.php?city=Noida&ompliance=\"".$SLA_Compliance."\">"
转义"
look here