我有一个来自google的链接,并且在iframe
html标签中使用了该链接。我想更改此链接的一部分,但出现一些错误。似乎%20
是链接中的问题。我该如何保持链接不变?
<script>
document.getElementById('mapcanvas1').src = "https://maps.google.com/maps?q=37.474203,%2049.446669&t=&z=10&ie=UTF8&iwloc=&output=embed";
</script>
答案 0 :(得分:0)
似乎它对某些字符进行了两次编码,请尝试:
<script>
document.getElementById('mapcanvas1').src = "https://maps.google.com/maps?q=37.474203,49.446669&t=&z=10&ie=UTF8&iwloc=&output=embed";
</script>
答案 1 :(得分:0)
&
是为HTML编码&
的方式,但是您正在JavaScript中使用它。
在整个字符串中,您需要一个文字&
字符和一个不是 HTML实体。
答案 2 :(得分:0)
首先,您在URL编码方面遇到问题。解决方法:
%20
更改为“空格”(实际空格,而不是单词空格); &
更改为&
; 然后它将变为以下内容:
<script type="text/javascript"> document.getElementById('mapcanvas1').src = "https://maps.google.com/maps?q=37.474203,49.446669&t=&z=10&ie=UTF8&iwloc=&output=embed"; </script>
第二,可以通过以下方式处理坐标值:
对于地址中的新变量,只需在末尾放置&
,然后在变量名后加上=
和值。示例:...example.com/?q=...&newVar=value
;
要更改坐标,请将q=37.474203,49.446669
更改为实际坐标。示例:q=" + lat + "," + lon + "
分别为lat
和lon
的纬度和经度;
然后它将变为以下内容:
<script type="text/javascript"> document.getElementById('mapcanvas1').src = "https://maps.google.com/maps?q=" + lat + "," + lon + "&t=&z=10&ie=UTF8&iwloc=&output=embed"; </script>
注意:链接地址中的第一个变量以?
而不是&
开头。仅第二个及以后的版本使用&
。