javascript用字符串更改了我的链接地址

时间:2019-01-11 19:11:15

标签: javascript

我有一个来自google的链接,并且在iframe html标签中使用了该链接。我想更改此链接的一部分,但出现一些错误。似乎%20是链接中的问题。我该如何保持链接不变?

<script>
    document.getElementById('mapcanvas1').src = "https://maps.google.com/maps?q=37.474203,%2049.446669&amp;t=&amp;z=10&amp;ie=UTF8&amp;iwloc=&amp;output=embed";
</script>

3 个答案:

答案 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)

&amp;是为HTML编码&的方式,但是您正在JavaScript中使用它。

在整个字符串中,您需要一个文字&字符和一个不是 HTML实体。

答案 2 :(得分:0)

首先,您在URL编码方面遇到问题。解决方法:

  • %20更改为“空格”(实际空格,而不是单词空格);
  • &amp;更改为&

然后它将变为以下内容:

<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 + "分别为latlon纬度和经度;

  • 的坐标变量

然后它将变为以下内容:

<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>

注意:链接地址中的第一个变量以?而不是&开头。仅第二个及以后的版本使用&