clipboard.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /**
  2. * 设置粘贴板数据
  3. * @param {String} text 要设置的字符串
  4. * 如果未设置参数,则清空数据
  5. */
  6. function setClipboardText(text){
  7. try{
  8. var os = plus.os.name;
  9. text = text||'';
  10. if('iOS' == os){
  11. // var UIPasteboard = plus.ios.importClass('UIPasteboard');
  12. // var pasteboard = UIPasteboard.generalPasteboard();
  13. // pasteboard.setValueforPasteboardType(text, 'public.utf8-plain-text');
  14. var pasteboard = plus.ios.invoke('UIPasteboard', 'generalPasteboard');
  15. plus.ios.invoke(pasteboard, 'setValue:forPasteboardType:', text, 'public.utf8-plain-text');
  16. }else{
  17. var main = plus.android.runtimeMainActivity();
  18. // var Context = plus.android.importClass('android.content.Context');
  19. // var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
  20. var clip = main.getSystemService('clipboard');
  21. plus.android.invoke(clip, 'setText', text);
  22. }
  23. }catch(e){
  24. console.error('error @setClipboardText!!');
  25. }
  26. }
  27. function getClipboardText(){
  28. try{
  29. var os = plus.os.name;
  30. if('iOS' == os){
  31. var pasteboard = plus.ios.invoke('UIPasteboard', 'generalPasteboard');
  32. return plus.ios.invoke(pasteboard, 'valueForPasteboardType:', 'public.utf8-plain-text')
  33. }else{
  34. var main = plus.android.runtimeMainActivity();
  35. var clip = main.getSystemService('clipboard');
  36. return plus.android.invoke(clip, 'getText');
  37. }
  38. }catch(e){
  39. console.error('error @getClipboardText!!');
  40. }
  41. }
  42. export default {
  43. setText: setClipboardText,
  44. getText: getClipboardText
  45. }