clipboard.js 1.2 KB

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