Javascript 更改从HTML页面复制到剪贴板的文本的颜色

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中,如果粘贴到忽略样式设置的地

我在一个网站的深色背景上有白色文本。当访问者复制此文本并将其粘贴到支持HTML的文字处理器(如电子邮件应用程序)中时,文本将以白色对白色进行复制。我已经由c.bavota改编,根据KingKongFrog的建议改变文本的颜色和背景。你可以在这个演示中看到效果,你可以在下面找到完整的脚本

这适用于Mac上的Chrome、Safari和Opera,但不适用于最新的Firefox(38.0.1)。我还没有测试过任何版本的Internet Explorer

在Firefox中,如果粘贴到忽略样式设置的地方(如电子邮件应用程序的地址栏),那么文本将被粘贴,因此至少有一些内容被复制

你能建议一些改变来说服Firefox让它也这么做吗

编辑:在Firefox上不执行任何操作。Firefox已经为您做到了这一切,而且做得更好。解决方案是在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电脑上,您可以使用⇧⌥⌘五,