2013-09-16 59 views
1

我有一个包含参数的URL。我试图创建一个mailto命令来打开当前窗口URL的链接。我目前使用下面的JS来调用该函数,但它会在“&”符号之后截断URL。从URL传递参数到mailto命令

<a href="mailto:?subject=Report&body=[sub]" onclick="this.href = this.href.replace(''[sub]'',window.location)">email</a> 

这将返回“http://www.mydomain.com/reportname?SiteCode=0027”在电子邮件的正文中,但URL实际上是下面列出,因为它是传递变量: http://www.mydomain.com/reportname?SiteCode=0027&CustomerCode=ALLCUSTOMERS&JobCode=ALLJOBS

我怎么能输出完整的URL包括参数的电子邮件?

回答

1

我做了一个小小的jsFiddle。我做了两个小改动。

  1. 首先我改变href属性的onClick,并没有把它放在DOMContentLoaded
  2. 其次,我不得不使用encodeURIComponent方法的任何特殊字符会打破你的脚本

现金去this questiondr. google


<html> 
<head> 
    <script type="text/javascript"> 
     document.addEventListener("DOMContentLoaded", function() { 
      var simpleHref = document.getElementById("simpleHref"); 
      simpleHref.href = "mailto:[email protected]?subject=Report&body=" + encodeURIComponent(window.location); 
     }); 
    </script> 
</head> 
<body> 
    <a href="" id="simpleHref">Test</a> 
</body> 
</html> 
+0

谢谢!这工作像一个魅力。 – user2470781