Javascript 剥离HTML,保留mailto标记的换行符
我几乎从投票最多的人那里得到了答案,但我正试图在mailto标签正文中添加div内容Javascript 剥离HTML,保留mailto标记的换行符,javascript,mailto,Javascript,Mailto,我几乎从投票最多的人那里得到了答案,但我正试图在mailto标签正文中添加div内容 function getInnerText(el) { var sel, range, innerText = ""; if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") { sel = window.getSelection();
function getInnerText(el) {
var sel, range, innerText = "";
if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") {
sel = window.getSelection();
sel.selectAllChildren(el);
innerText = "" + sel;
sel.removeAllRanges();
} else if (typeof document.selection != "undefined" && typeof document.body.createTextRange != "undefined") {
range = document.body.createTextRange();
range.moveToElementText(el);
innerText = range.text;
}
return innerText;
}
function doMailTo() {
var title = $('#title').val();
var el = document.getElementById("container");
//alert(getInnerText(el)); //--> works fine
location.href = "mailto:?subject="+title+"&body="+(getInnerText(el));
}
<a href="javascript:doMailTo();">Email</a>
函数getInnerText(el){
变量sel,范围,innerText=“”;
if(typeof window.getSelection!=“未定义”&&typeof document.createRange!=“未定义”){
sel=window.getSelection();
选择所有儿童(el);
innerText=”“+sel;
选择removeAllRanges();
}else if(typeof document.selection!=“未定义”&&typeof document.body.createTextRange!=“未定义”){
range=document.body.createTextRange();
范围。移动到元素文本(el);
innerText=range.text;
}
返回内部文本;
}
函数doMailTo(){
var title=$('#title').val();
var el=document.getElementById(“容器”);
//警报(getInnerText(el));//-->工作正常
location.href=“mailto:?subject=“+title+”&body=“+(getInnerText(el));
}
这在警报中非常有效,但在电子邮件中会丢失换行符。有没有办法用%0A%0A替换换行符?还是用另一种方式做同样的事情
谢谢大家! 简短的回答,但是这个
%0D%0A%0D%0A
对我很有用 在传递给GET参数之前,是否尝试使用encodeURIComponent()
?