當此代碼運行時,警報框中包含的鏈接包含& list =雜貨和& [email protected]。當mailto:啓動並彈出電子郵件窗口時,這些參數丟失,我無法弄清楚原因。字符串的長度似乎並不重要。爲什麼mailto不包含鏈接參數?
該代碼具有運行所需的全部功能。你可以在這裏運行:http://jsfiddle.net/mckennatim/rRerR/
<div data-role="header">
<h1>My Title</h1>
</div><!-- /header -->
<div data-role="content">
<h3>Add List</h3>
<form>
<div data-role="controlgroup" id="addwhat">
<input type="email" id="shemail" name="inp0" class="inp" />
</div>
<div data-role="controlgroup" data-type="horizontal" class="aisubmit">
<input type="submit" data-theme="b" id="mailit" value="mail it"/>
</div>
</form>
</div><!-- /content -->
</div><!-- /page -->
<script>
$('body').on('click', "#mailit", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
repo = "Sebaza";
list = "groceries";
semail = $("#shemail").val();
//(semail);
urri ='mailto:'+ semail + '?subject=share this list with me' + '&cc=' + semail + '&body=Hi, I think it would be cool if we shared this ' + list +' list on our phones. That way when either of us modified it we would see the update. http://10.0.1.18/webeshoppin/stuff2get/www/food2buy.html?repo=' + repo + '&list=' + list + '&email=' + semail ;
window.location = urri;
alert('clicked ashare ' +urri);
});
</script>
</body>
</html>
帕特里克是正確的。額外的URL參數連接到整個mailto URL,並被視爲mailto協議的未定義部分,所以它們只是掉出來。如果你像Patrick建議的那樣逃脫他們,那麼他們會融入併成爲身體參數的一部分。 – dbrin 2012-02-04 04:05:41
不說所有使用的電子郵件客戶端 - 並非所有的都支持這些額外的參數(我知道是因爲我寫的那個不會。我會在某天添加這個功能) – eselk 2012-02-04 04:17:57