请教PHP传值到JS 的代码,实现复制到剪贴板的功能
<scripttype="text/javascript">functionsetCopy(content){if(navigator.userAgent.toLower...
<script type="text/javascript">
function setCopy(content){
if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
clipboardData.setData('Text',content);
alert ("本文标题和网址已复制到剪切板");
} else {
prompt("请复制网站地址:",content);
}
}
</script>
<input type="button" value="分享本文给好友" onclick="setCopy('<?php echo $arc['title'];?>:http://www.langtaotao.net/show.php?id=<?php echo $arc['id']?>');return false;" />
按钮,上述代码是可以正常运行的,实现复制到剪贴板的功能。
但是我将<?php echo $arc['title'];?>改成<?php echo $arc['content'];?>就不行了,页面只是输出了$arc['content']的内容,复制到剪贴板的功能不能实现。
(title是文章标题,content是文章正文)
知道了原因在于<?php echo $arc['content'];?> 里包含了html标记,有什么办法可以实现像在论坛里按Ctrl+C的复制功能呢?? 展开
function setCopy(content){
if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
clipboardData.setData('Text',content);
alert ("本文标题和网址已复制到剪切板");
} else {
prompt("请复制网站地址:",content);
}
}
</script>
<input type="button" value="分享本文给好友" onclick="setCopy('<?php echo $arc['title'];?>:http://www.langtaotao.net/show.php?id=<?php echo $arc['id']?>');return false;" />
按钮,上述代码是可以正常运行的,实现复制到剪贴板的功能。
但是我将<?php echo $arc['title'];?>改成<?php echo $arc['content'];?>就不行了,页面只是输出了$arc['content']的内容,复制到剪贴板的功能不能实现。
(title是文章标题,content是文章正文)
知道了原因在于<?php echo $arc['content'];?> 里包含了html标记,有什么办法可以实现像在论坛里按Ctrl+C的复制功能呢?? 展开
3个回答
展开全部
直接DOM获取容器内容即可
<script type="text/javascript">
function setCopy(id){
if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
var content = document.getElementById(id).innerHTML;
clipboardData.setData('Text',content);
alert ("本文标题和网址已复制到剪切板");
} else {
prompt("请复制网站地址:",content);
}
}
</script>
<div id='test'>我要被复制</div>
<a href="javascript:setCopy('test');return false;">点击复制</a>
<script type="text/javascript">
function setCopy(id){
if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
var content = document.getElementById(id).innerHTML;
clipboardData.setData('Text',content);
alert ("本文标题和网址已复制到剪切板");
} else {
prompt("请复制网站地址:",content);
}
}
</script>
<div id='test'>我要被复制</div>
<a href="javascript:setCopy('test');return false;">点击复制</a>
展开全部
我想是因为content里面包含了单引号,双引号,反斜杠等特殊字符,导致你给content字段的赋值不正确了。
至少,把content里的单引号,双引号替换掉。然后试试看。
至少,把content里的单引号,双引号替换掉。然后试试看。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
改成 <?=addslashes(htmlspecialchars($arc['content']))?>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询