Javascript 更改从HTML页面复制到剪贴板的文本的颜色
我在一个网站的深色背景上有白色文本。当访问者复制此文本并将其粘贴到支持HTML的文字处理器(如电子邮件应用程序)中时,文本将以白色对白色进行复制。我已经由c.bavota改编,根据KingKongFrog的建议改变文本的颜色和背景。你可以在这个演示中看到效果,你可以在下面找到完整的脚本 这适用于Mac上的Chrome、Safari和Opera,但不适用于最新的Firefox(38.0.1)。我还没有测试过任何版本的Internet Explorer 在Firefox中,如果粘贴到忽略样式设置的地方(如电子邮件应用程序的地址栏),那么文本将被粘贴,因此至少有一些内容被复制 你能建议一些改变来说服Firefox让它也这么做吗 编辑:在Firefox上不执行任何操作。Firefox已经为您做到了这一切,而且做得更好。解决方案是在Firefox上禁用此脚本,一切都会好起来。Javascript 更改从HTML页面复制到剪贴板的文本的颜色,javascript,css,firefox,copy-paste,Javascript,Css,Firefox,Copy Paste,我在一个网站的深色背景上有白色文本。当访问者复制此文本并将其粘贴到支持HTML的文字处理器(如电子邮件应用程序)中时,文本将以白色对白色进行复制。我已经由c.bavota改编,根据KingKongFrog的建议改变文本的颜色和背景。你可以在这个演示中看到效果,你可以在下面找到完整的脚本 这适用于Mac上的Chrome、Safari和Opera,但不适用于最新的Firefox(38.0.1)。我还没有测试过任何版本的Internet Explorer 在Firefox中,如果粘贴到忽略样式设置的地
<!DOCTYPE html>
<html>
<head>
<style>
html, body{
height: 100%;
margin: 0;
color: #fff;
font-size: 32px;
background: #000;
}
div {
height: 100%;
}
span::selection {
color: #000;
background: #FFF;
}
span::-moz-selection {
color: #000;
background: #FFF;
}
.copy {
color: #000;
background: #FFF;
}
</style>
</head>
<body>
<div>
<p>
<span>Select, then copy and paste this text </span>
into an HTML aware word processor.
</p>
</div>
<script>
function blackOnWhite() {
if (/mozilla/.test(navigator.userAgent.toLowerCase()) && !/webkit/.test(navigator.userAgent.toLowerCase()) {
return;
}
var body = document.getElementsByTagName('body')[0];
var selection = window.getSelection();
var more = "<br /><br />More text"; // change this
var copyDiv = document.createElement('div');
copyDiv.style.position='absolute';
copyDiv.style.left='-99999px';
body.appendChild(copyDiv);
copyDiv.innerHTML = selection + more;
copyDiv.classList.add("copy");
selection.selectAllChildren(copyDiv);
window.setTimeout(function() {
body.removeChild(copyDiv);
},1);
}
document.body.oncopy = blackOnWhite;
</script>
</body>
</html>
html,正文{
身高:100%;
保证金:0;
颜色:#fff;
字体大小:32px;
背景:#000;
}
div{
身高:100%;
}
span::选择{
颜色:#000;
背景:#FFF;
}
span::-moz选择{
颜色:#000;
背景:#FFF;
}
.复制{
颜色:#000;
背景:#FFF;
}
选择,然后复制并粘贴此文本
进入一个支持HTML的文字处理器。
函数blackOnWhite(){
if(/mozilla/.test(navigator.userAgent.toLowerCase())和&!/webkit/.test(navigator.userAgent.toLowerCase()){
返回;
}
var body=document.getElementsByTagName('body')[0];
var selection=window.getSelection();
var more=“
更多文本”//更改此选项
var copyDiv=document.createElement('div');
copyDiv.style.position='absolute';
copyDiv.style.left='-9999px';
body.appendChild(copyDiv);
copyDiv.innerHTML=选择+更多;
copyDiv.classList.add(“复制”);
选择。选择所有子项(copyDiv);
setTimeout(函数(){
body.removeChild(copyDiv);
},1);
}
document.body.oncopy=blackOnWhite;
在Mac电脑上,您可以使用⇧⌥⌘五,