KanKanFirst
小狐狸
小狐狸
  • UID42551
  • 注册日期2013-11-30
  • 最后登录2020-07-08
  • 发帖数41
  • 经验53枚
  • 威望0点
  • 贡献值40点
  • 好评度1点
  • 社区居民
  • 忠实会员
阅读:8685回复:10

求一个好用的autocopy脚本

楼主#
更多 发布于:2014-07-08 11:52
想请问大家现在最新的有哪个自动复制、中键黏贴的脚本比较好用?
自己装的一个uAutoCopyBtn.uc不支持以下几个功能
1、在复制纯文本和非纯文本之间自由切换
2、中键黏贴功能有bug,黏贴时无法替换鼠标选中的文字内容

最新喜欢:

点球射飞点球射飞
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度256点
  • 最爱沙发
  • 社区居民
  • 忠实会员
1楼#
发布于:2014-07-08 12:45
// ==UserScript==
// @name           autoCopy.uc.js
// @namespace      ithinc#mozine.cn
// @description    AutoCopy with AutoPaste to search bar
// @include        main
// @compatibility  Firefox 3.0.x
// @author         ithinc
// @updator       iwo
// @update        2013-01-21 21:30 respected ctrl or alt Key
// @update        2013-01-06 10:00 excluding input area
// @version        LastMod 2009/3/1 22:30 Initial release
// @Note           <a target="_blank" href="https://g.mozest.com/redirect.php?goto=findpost&pid=299093&ptid=42980" class="linkyfier">https://g.mozest.com/redirect.php?goto=findpost&pid=299093&ptid=42980</a>
// ==/UserScript==
 
/* :::: AutoCopy with AutoPaste to search bar :::: */
 
(function() {
  var lastSelection = "";
  var autocopyImages = ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAADQklEQVQ4jT3RzW8UZQCA8eedeWe3291+QHfp9tuqxe0SodSUojECWk1DSnpQNFa9efXEwZMX/SswJiYejJqYxsTGKJi2SCohSNCALcFatqVLv3enuzvdmXnnfb0Q/4Hnd3jE5VxOGDAS0k3Dw6rmxMqB74lMTJrd+8uU3AoNaGY6jjzbr+gbSGXTX2QnrkxVF0rHJkeRLqABBZ+l/HrTnEx9vFXZ6rnY0eetDb+Retg51OOVN3qThb/O9N6dHzkUhEeymb3PfS0ugalKwETwcgym9L2/m3tPvz5U6Lpw+LJISFvrFuvRfqylVubE0l2yoFvcEqe3b0+29We/BjkvAUKwU5CQYJ6+s5A/GM8JldIk4paR9QMVn/7RdKuS5YClwBxduZkxYc8ZRnK/WYAdg/k1uLQBIlmvRadufx+98oyjTx6u0zf3jezySo4DtgX6Mbb4suv8vQePtqbxKlpqEA3AYmzwznJn1/aFh1cz8dWijmZ+tkr7FcT6Jo1ABFS6siy0j7IdPlcz69d3AKQEWoHmoJLxXjrX6g9ahD/9IpK3btEECMC3LMzYGDw/SO3aBhwoKVASQDaCKAP/ZoZ6B8tFJ1XaVSWQKcAGgnSa6K03cdrb0TubaKXAaGMR01gW0gFVIEnc9vP5q18RBRXTBgRP9HgYIvfKqJZDKG1QBgh9HR8YMDQmsXxo7qT26bsbVz7oDCo4IENAnTtHtSOLcl2s774lfvMGBAFhZEBFWA1xgW1hbcOkgE9aIf5kqdATE8TOnoVXX8MFDGBm52i9dp32mAZjIq1UhDFYVfijBOsChG9bRr19EXP8OEG5TENfH/74+P8R+eAfzq/eYCC52yLj8XaEwB5Pp90Y5Gp240n7/fe0fKrPUgc+RgiMHxDv6cGr15HFIjaImFcl5xXaEoSriXx+wUpCMOscm1saHUNmUlHg7hgVVEzgucbz9k1lq6j9fE4XM2ktQSkQ06Z/qbC2PoPvGVkDVrtPdbrbj9n6dVHUlSW0BqVBaUEYIUIjsBInGOF3U3EyLHa+UDq6XNhGa2Tmw4/gh5UVN/T+dLfsTYQOEKIOtge6hhA+UEPI6mzbiy6Oc0Bp937TO1N7ZLv5D+kujbC/iJ43AAAAAElFTkSuQmCC",
                        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAADtElEQVQ4jQXBfWjUdRwH8Pfn+/ves7u73blH3E031x6c2zQcw52NQJGIsakVVNiDsyAJyQYFZaBZYQWB2T8FCTIZQkJIjdYDoa2ZtIfMsbbmRpvNbXe3dbvb3e9+9/v9vt9vrxct1NeTyueVMxzeHOruttfdnnUjm6ZKj1Mt/jaK5Qdr8JGNi/VV21ssVLYWVm8+WX3yx/eS15Idvd3gcduGIIIVj58r1LMFfc7Qmwtr8xVv1zTpk4+9vOlu7cGK1MpcJDjxU0fjwKU9ZduM4urI0hdZQb1QKsNJKWUTRd2gZ8QvQ/7GQ8dbJupeC51gBdwhZIBNJZzF6ys4MHwD1alVWTyzgcPlg10VLVX9IMdNDgB5KbVCt8vjfLCodv1wrWHjlb1khiT8Xk05Mmnb99EFVTd/m7n9YWamk6rtj+tF0mjoUJ3tQ0wRaR7Im1Nw9c75Cqlwckx0fXdePPuwSx4sz2Bn3xlee2/c4fYGNaZvyNmiKuqte3VyZGT+a0qtSi5II5/5H4a2P31ntKY2cWr44yLv4M/S3vo5W15dBV0fRCAUgkVA6pEovqo6hCGjLfuE9+oqCOAujaOECRRtrBWln3w+mI1qMM6co+CVKwgHA6CAH3pZKWTPMeDRfVjvn4XLsjgzTQ4FML8wKB7YhvHqA5GylRlHaHnR1rmDGAE8FoPZ2gr7s4twHDkCkclAmBaUFIp5PBKaBu4SeXvCVw+fpjfs+/INWHN31Ba3D7lcDgTAaxiwl1ZgFpfClAqWVJBGVvpaWxUCQXCde/wPrc/2vjty/mhISTCnl+edTpivn4I+PAz+zbfgS0vw9hyD2t0MQygoywYLeAlcA1uw7C6S4p0S7nBBEgyvh+zTp+E5+hzwwouI1dVBxWJQFz5Faf9VVLkldKWEMC0BpaB1+gO24lpXhRD+jfJSJc6eJbRHYSaTcEUiSAaDsH4fgc+2wKf+UrtdOkuVbEk3+ozvI207YtqJcDDlzm3UJbc27eIfvC8dzU3MyuhQRBB6Dr6GHUgLG46xMXC3lzyz02jHv+ECGPc3RaO3WNBfZF6uf+nGre4euCpDIhe7r/L6mtJTcZVOJdTqPzMyG90rZ1r3SKeRts2CAH0om6fv3p4eID2t+LrJMFDfVR5fmMX8pV8pa2kkBGAKBVMwGBbIlAysYD86g2m1Fozgcs3jybbERALCBs2N38PhT/58ShmJt/KKx4iYCWIGSNMBlSWiPMCyipDxkZXSXK5cPMf/7jteOxrdv9P6H00LytiG/sXgAAAAAElFTkSuQmCC",
                        "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAADeUlEQVQ4jQXBSWicZRgH8P/zfu83S7aZzGSyTCZLY1IySdSDlkADHrzpoaAtCAUFIxQR8WqXU/HgTRB6VqhCe+lBa22LBEMQreLSkIjN5kzWcTLJ7DPf9r7v4+9He8ceLt7MgbXBXDZBQ+37XPh7CdnXrqIrnoYQAq3SNraWP58emDjnZeYXvTtLef3J22eKCzM9kDvOE8RGD9DZ4aE3cZ7DB5H+3r7UZDQSapIUXYGhEVdEx6zJN16pJsakV3ZjbZ/+OnWOrhWdgxpd/ulF9Ma0oOpZE2xeX+SKuuKHe8aN7CHNFNckQ9Q+QiI5Ch1qajd6x2rtnFubOvvsgkys5GWPGCToCudWX7Ja+ZHLC3O5+Uy6T3VHSHbahrujluqyU1zKrwkxXOPH7Udqor8xMxTOZGsqnZcaAdnCGITa6fEBxN5ZiCEernL/0LAxRhOBJIlO7Hc5+PbkIUJigPfUMpGa/YrboUUJQBAZE+jwaDwqR0YzaWhDVrWtBQAwDGwwcmYb/zo7oJAmVyu9Vnia9MqqSzBAxhBEyBtNxkwfg8GGiAgQBEgCHFXHj4V7iITDKPslJX1peXX/FgtzVwQNP6gVxeRgZv16dmbLMoE0DEMEQLOCpDAeHdxFQD4aqmqg2/J060xZuUNfyIgyolltTYWD+K10PDp3bD/WjnGFIAnNCp1WN9ZPf8Ozxh/whYtGUOTa7gBON97dMMFAEfAgvJpOmTZerrsN/Hq8JNYrT8AGkAjjqLmLpaN7EFLgxCsAhSii+2/CccaEIBdEFgQr/vnosPLRfq4MTzX5+/2vudDcRcur4bvd26hzGSXvEHRq4/XEFaA9CIYDggAASMtuolmd+NM6uZDv6PxyfNNdMw8Ob1PCGsCBt42aX4F7Qnhv+gYi7S64/i6IDZgZACAkkqifZuPPxRfSb41fQybI0g873+D3ygoqrSrsWjc+mLmJqb5peNqBrxTYKGMJi6UIQRbLFvzjS6n4ZD50fmQ2SIgP5cr+fd4urWFYTODV4UtsORJbuU0U/isbpckiZq66ZTSah6AHT5fx8We1qzOp1qfpuBdoDttGWyg2T9BhJ+EpQsNzYYxAoIx2tG2V6qFfbryfvDj/gl2Qz6fnAX64889eY3U1L4oM5RNZrm31tgPjtJjIk8JuMbgpyKp1RIQT6GBjsm+2NJ1M4X84vtmKnywkowAAAABJRU5ErkJggg=="];
  var autocopyTooltips = ["Autocopy Disabled", "Autocopy Enabled\nWithOut Autopaste", "Autocopy Enabled\nwith Autopaste"];
 
  var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
  if(!prefs.getPrefType("userChrome.autocopy.autocopyState")) prefs.setIntPref("userChrome.autocopy.autocopyState", 2);
 
  function autocopyStart(e) {
    lastSelection = getBrowserSelection();
  }
 
  function autocopyStop(e) {
    var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
    var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState");
    var selection = getBrowserSelection();
//增加判断是否在输入框或按下功能键  
    var exceptTarget = (e.target.nodeName == "TEXTAREA" || e.target.type == "textarea" || e.target.type == "text" || e.target.type == "password" || e.target.type == "email");
    var exceptoriginalTarget = (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument.designMode == "off" || e.originalTarget.ownerDocument.designMode == "undefined");
    var exceptAlternativeKey = (e.ctrlKey || e.altKey);
    var except = (exceptTarget && exceptoriginalTarget && !exceptAlternativeKey);//
 
    if(autocopyState>0 && selection && selection!=lastSelection && !except) {//
      goDoCommand('cmd_copy');
 
      if(autocopyState>1) {
        var searchbar = document.getElementById('searchbar');
        searchbar.removeAttribute("empty");
        searchbar.value = selection;
 
        var evt = document.createEvent("Events");
        evt.initEvent("oninput", true, true);
        searchbar.dispatchEvent(evt);
      }
    }
  }
 
  gBrowser.mPanelContainer.addEventListener("mousedown", autocopyStart, false);
  gBrowser.mPanelContainer.addEventListener("mouseup", autocopyStop, false);
 
  var statusbarpanel = document.getElementById("searchbar").appendChild(document.createElement("statusbarpanel"));;
  statusbarpanel.setAttribute("id", "autocopy-statusbarpanel");
  statusbarpanel.setAttribute("class", "statusbarpanel-iconic");
  // statusbarpanel.insertBefore(newItem refChild);//
  statusbarpanel.setAttribute("onclick", '\
    if(event.button==0) {\
      var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);\
      var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState");\
      prefs.setIntPref("userChrome.autocopy.autocopyState", (autocopyState+1)%3);\
    }\
  ');
 
  function refreshStatus() {
    var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
    var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState");
    var statusbarpanel = document.getElementById("autocopy-statusbarpanel");
 
    statusbarpanel.setAttribute("src", autocopyImages[autocopyState%3]);
    statusbarpanel.tooltipText = autocopyTooltips[autocopyState%3];
  }
  refreshStatus();
 
  var observer = {
    observe:function(subject, topic, prefName) {refreshStatus();}
  };
  prefs.QueryInterface(Ci.nsIPrefBranchInternal).addObserver("userChrome.autocopy.autocopyState", observer, false);
})();
userChromeJS/overwriteMiddleMousePaste.uc.js at master · Griever/userChromeJS
中键粘贴
KanKanFirst
小狐狸
小狐狸
  • UID42551
  • 注册日期2013-11-30
  • 最后登录2020-07-08
  • 发帖数41
  • 经验53枚
  • 威望0点
  • 贡献值40点
  • 好评度1点
  • 社区居民
  • 忠实会员
2楼#
发布于:2014-07-08 13:50
文科:// ==UserScript==
// @name           autoCopy.uc.js
// @namespace      ithinc#mozine.cn
// @description    AutoCopy w...
回到原帖
十分感谢文科的提供!
我试验了一下感觉很好用,只是发现中键黏贴功能无法在百度贴吧的发表新帖或回复框中起作用……不知是否只是我自己的问题还是说是固有bug……
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度256点
  • 最爱沙发
  • 社区居民
  • 忠实会员
3楼#
发布于:2014-07-08 15:45
KanKanFirst:十分感谢文科的提供!
我试验了一下感觉很好用,只是发现中键黏贴功能无法在百度贴吧的发表新帖或回复框中起作用……不知是否只是我自己的问题还是说是固有bug……
回到原帖
贴吧编辑框就是一个奇葩,正常情况,几乎所有作用于编辑框的脚本都要为贴吧做兼容,比如快速回复,自动保存编辑框输入内容的脚本。
刀锋上追梦
火狐狸
火狐狸
  • UID42690
  • 注册日期2013-12-06
  • 最后登录2022-08-25
  • 发帖数204
  • 经验180枚
  • 威望0点
  • 贡献值60点
  • 好评度11点
  • 社区居民
  • 忠实会员
4楼#
发布于:2014-07-08 20:37
文科:// ==UserScript==
// @name           autoCopy.uc.js
// @namespace      ithinc#mozine.cn
// @description    AutoCopy w...
回到原帖
咦,这个中键粘贴代替原文本的功能挺好
KanKanFirst
小狐狸
小狐狸
  • UID42551
  • 注册日期2013-11-30
  • 最后登录2020-07-08
  • 发帖数41
  • 经验53枚
  • 威望0点
  • 贡献值40点
  • 好评度1点
  • 社区居民
  • 忠实会员
5楼#
发布于:2014-07-09 01:48
文科:贴吧编辑框就是一个奇葩,正常情况,几乎所有作用于编辑框的脚本都要为贴吧做兼容,比如快速回复,自动保存编辑框输入内容的脚本。回到原帖
原来如此,百度真是个奇葩囧
hill
狐狸大王
狐狸大王
  • UID4423
  • 注册日期2005-03-26
  • 最后登录2020-09-09
  • 发帖数344
  • 经验131枚
  • 威望0点
  • 贡献值90点
  • 好评度3点
  • 社区居民
  • 忠实会员
6楼#
发布于:2014-07-10 01:44
请问这个脚本能设置一个激活/关闭的开关吗
KanKanFirst
小狐狸
小狐狸
  • UID42551
  • 注册日期2013-11-30
  • 最后登录2020-07-08
  • 发帖数41
  • 经验53枚
  • 威望0点
  • 贡献值40点
  • 好评度1点
  • 社区居民
  • 忠实会员
7楼#
发布于:2014-07-10 04:01
// ==UserScript==
// @name           autoCopyBtn.uc.js
// @namespace      ithinc#mozine.cn
// @description    可控自动复制,地址栏按钮版
// @include        main
// @compatibility  Firefox 3.0.x
// @author         ithinc, iwo
// @charset        UTF-8
// @version        LastMod 2014.04.12 by defpt
// @Note           https://github.com/defpt/userChromeJs/tree/master/autoCopy
// @Note           https://g.mozest.com/redirect.php?goto=findpost&pid=299093&ptid=42980
// ==/UserScript==

(function () {
    var lastSelection = "";
    var autocopyImages = ["data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAADtElEQVQ4jQXBfWjUdRwH8Pfn+/ves7u73blH3E031x6c2zQcw52NQJGIsakVVNiDsyAJyQYFZaBZYQWB2T8FCTIZQkJIjdYDoa2ZtIfMsbbmRpvNbXe3dbvb3e9+9/v9vt9vrxct1NeTyueVMxzeHOruttfdnnUjm6ZKj1Mt/jaK5Qdr8JGNi/VV21ssVLYWVm8+WX3yx/eS15Idvd3gcduGIIIVj58r1LMFfc7Qmwtr8xVv1zTpk4+9vOlu7cGK1MpcJDjxU0fjwKU9ZduM4urI0hdZQb1QKsNJKWUTRd2gZ8QvQ/7GQ8dbJupeC51gBdwhZIBNJZzF6ys4MHwD1alVWTyzgcPlg10VLVX9IMdNDgB5KbVCt8vjfLCodv1wrWHjlb1khiT8Xk05Mmnb99EFVTd/m7n9YWamk6rtj+tF0mjoUJ3tQ0wRaR7Im1Nw9c75Cqlwckx0fXdePPuwSx4sz2Bn3xlee2/c4fYGNaZvyNmiKuqte3VyZGT+a0qtSi5II5/5H4a2P31ntKY2cWr44yLv4M/S3vo5W15dBV0fRCAUgkVA6pEovqo6hCGjLfuE9+oqCOAujaOECRRtrBWln3w+mI1qMM6co+CVKwgHA6CAH3pZKWTPMeDRfVjvn4XLsjgzTQ4FML8wKB7YhvHqA5GylRlHaHnR1rmDGAE8FoPZ2gr7s4twHDkCkclAmBaUFIp5PBKaBu4SeXvCVw+fpjfs+/INWHN31Ba3D7lcDgTAaxiwl1ZgFpfClAqWVJBGVvpaWxUCQXCde/wPrc/2vjty/mhISTCnl+edTpivn4I+PAz+zbfgS0vw9hyD2t0MQygoywYLeAlcA1uw7C6S4p0S7nBBEgyvh+zTp+E5+hzwwouI1dVBxWJQFz5Faf9VVLkldKWEMC0BpaB1+gO24lpXhRD+jfJSJc6eJbRHYSaTcEUiSAaDsH4fgc+2wKf+UrtdOkuVbEk3+ozvI207YtqJcDDlzm3UJbc27eIfvC8dzU3MyuhQRBB6Dr6GHUgLG46xMXC3lzyz02jHv+ECGPc3RaO3WNBfZF6uf+nGre4euCpDIhe7r/L6mtJTcZVOJdTqPzMyG90rZ1r3SKeRts2CAH0om6fv3p4eID2t+LrJMFDfVR5fmMX8pV8pa2kkBGAKBVMwGBbIlAysYD86g2m1Fozgcs3jybbERALCBs2N38PhT/58ShmJt/KKx4iYCWIGSNMBlSWiPMCyipDxkZXSXK5cPMf/7jteOxrdv9P6H00LytiG/sXgAAAAAElFTkSuQmCC", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAADeUlEQVQ4jQXBSWicZRgH8P/zfu83S7aZzGSyTCZLY1IySdSDlkADHrzpoaAtCAUFIxQR8WqXU/HgTRB6VqhCe+lBa22LBEMQreLSkIjN5kzWcTLJ7DPf9r7v4+9He8ceLt7MgbXBXDZBQ+37XPh7CdnXrqIrnoYQAq3SNraWP58emDjnZeYXvTtLef3J22eKCzM9kDvOE8RGD9DZ4aE3cZ7DB5H+3r7UZDQSapIUXYGhEVdEx6zJN16pJsakV3ZjbZ/+OnWOrhWdgxpd/ulF9Ma0oOpZE2xeX+SKuuKHe8aN7CHNFNckQ9Q+QiI5Ch1qajd6x2rtnFubOvvsgkys5GWPGCToCudWX7Ja+ZHLC3O5+Uy6T3VHSHbahrujluqyU1zKrwkxXOPH7Udqor8xMxTOZGsqnZcaAdnCGITa6fEBxN5ZiCEernL/0LAxRhOBJIlO7Hc5+PbkIUJigPfUMpGa/YrboUUJQBAZE+jwaDwqR0YzaWhDVrWtBQAwDGwwcmYb/zo7oJAmVyu9Vnia9MqqSzBAxhBEyBtNxkwfg8GGiAgQBEgCHFXHj4V7iITDKPslJX1peXX/FgtzVwQNP6gVxeRgZv16dmbLMoE0DEMEQLOCpDAeHdxFQD4aqmqg2/J060xZuUNfyIgyolltTYWD+K10PDp3bD/WjnGFIAnNCp1WN9ZPf8Ozxh/whYtGUOTa7gBON97dMMFAEfAgvJpOmTZerrsN/Hq8JNYrT8AGkAjjqLmLpaN7EFLgxCsAhSii+2/CccaEIBdEFgQr/vnosPLRfq4MTzX5+/2vudDcRcur4bvd26hzGSXvEHRq4/XEFaA9CIYDggAASMtuolmd+NM6uZDv6PxyfNNdMw8Ob1PCGsCBt42aX4F7Qnhv+gYi7S64/i6IDZgZACAkkqifZuPPxRfSb41fQybI0g873+D3ygoqrSrsWjc+mLmJqb5peNqBrxTYKGMJi6UIQRbLFvzjS6n4ZD50fmQ2SIgP5cr+fd4urWFYTODV4UtsORJbuU0U/isbpckiZq66ZTSah6AHT5fx8We1qzOp1qfpuBdoDttGWyg2T9BhJ+EpQsNzYYxAoIx2tG2V6qFfbryfvDj/gl2Qz6fnAX64889eY3U1L4oM5RNZrm31tgPjtJjIk8JuMbgpyKp1RIQT6GBjsm+2NJ1M4X84vtmKnywkowAAAABJRU5ErkJggg=="];
    var autocopyTooltips = ["自动复制已禁用", "自动复制已启用"];
    var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
    if (!prefs.getPrefType("userChrome.autocopy.autocopyState"))
        prefs.setIntPref("userChrome.autocopy.autocopyState", 1);

    function autocopyStart(e) {
        lastSelection = getBrowserSelection();
    }

    function autocopyStop(e) {
        var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
        var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState");
        var selection = getBrowserSelection();
        //增加判断是否在输入框或按下功能键
        var exceptTarget = (e.target.nodeName == "TEXTAREA" || e.target.type == "textarea" || e.target.type == "text" || e.target.type == "password" || e.target.type == "email");
        var exceptoriginalTarget = (!e.originalTarget.ownerDocument || e.originalTarget.ownerDocument.designMode == "off" || e.originalTarget.ownerDocument.designMode == "undefined");
        var exceptAlternativeKey = (e.ctrlKey || e.altKey);
        var except = (exceptTarget && exceptoriginalTarget && !exceptAlternativeKey);

        if (autocopyState > 0 && selection && selection != lastSelection && !except) {
            goDoCommand('cmd_copy');
        }
    }

    gBrowser.mPanelContainer.addEventListener("mousedown", autocopyStart, false);
    gBrowser.mPanelContainer.addEventListener("mouseup", autocopyStop, false);

    var statusbarpanel = document.getElementById("urlbar-icons").appendChild(document.createElement("statusbarpanel")); ;
    statusbarpanel.setAttribute("id", "autocopy-statusbarpanel");
    statusbarpanel.setAttribute("class", "statusbarpanel-iconic");
    statusbarpanel.setAttribute("onclick", '\
            if(event.button==0) {\
              var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);\
              var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState");\
              prefs.setIntPref("userChrome.autocopy.autocopyState", (autocopyState+1)%2);\
            }\
          ');

    function refreshStatus() {
        var prefs = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch);
        var autocopyState = prefs.getIntPref("userChrome.autocopy.autocopyState");
        var statusbarpanel = document.getElementById("autocopy-statusbarpanel");

        statusbarpanel.setAttribute("src", autocopyImages[autocopyState % 2]);
        statusbarpanel.tooltipText = autocopyTooltips[autocopyState % 2];
    }
    refreshStatus();

    var observer = {
        observe : function (subject, topic, prefName) {
            refreshStatus();
        }
    };
    prefs.QueryInterface(Ci.nsIPrefBranchInternal).addObserver("userChrome.autocopy.autocopyState", observer, false);
})();


这个可以
haoever
小狐狸
小狐狸
  • UID25974
  • 注册日期2008-08-25
  • 最后登录2020-06-24
  • 发帖数90
  • 经验118枚
  • 威望0点
  • 贡献值72点
  • 好评度2点
  • 社区居民
  • 忠实会员
8楼#
发布于:2014-07-20 15:12
文科:// ==UserScript==
// @name           autoCopy.uc.js
// @namespace      ithinc#mozine.cn
// @description    AutoCopy w...
回到原帖
这个能 overwrite 的中键粘贴总算被你找到了,原来的失效有段时间了,谢谢
hzzhaiqi
火狐狸
火狐狸
  • UID30112
  • 注册日期2009-08-18
  • 最后登录2015-09-15
  • 发帖数279
  • 经验180枚
  • 威望1点
  • 贡献值44点
  • 好评度28点
9楼#
发布于:2014-07-20 21:38
文科:贴吧编辑框就是一个奇葩,正常情况,几乎所有作用于编辑框的脚本都要为贴吧做兼容,比如快速回复,自动保存编辑框输入内容的脚本。回到原帖
百度贴吧用了 HTMLElement.contentEditable 方法,不是 input 框。可能以后这种方法会越来越普及。
文科
千年狐狸
千年狐狸
  • UID39959
  • 注册日期2013-10-17
  • 最后登录2019-07-27
  • 发帖数2069
  • 经验1328枚
  • 威望4点
  • 贡献值340点
  • 好评度256点
  • 最爱沙发
  • 社区居民
  • 忠实会员
10楼#
发布于:2014-07-21 20:57
hzzhaiqi:百度贴吧用了 HTMLElement.contentEditable 方法,不是 input 框。可能以后这种方法会越来越普及。回到原帖
希望吧。
游客

返回顶部