[]如何将一段文字放置到粘贴板 , 或者说点击一个按钮后复制copy一段文字?

我们的app希望用户点击按钮后能复制邀请码,请问如何实现,有没有对应的API?
已邀请:

Monica - 知识达人

赞同来自:

按钮没有此功能,你可以看下js原生的是否可以实现

moketao

赞同来自:

1.png


2.PNG


3.PNG



因为我用了一个按钮加上图片覆盖在画布之上,加上clipboard.js使用了一些不被支持的方法,所以。。。
这个方案只能在浏览器环境下有效,native测试通不过。
 

Monica - 知识达人

赞同来自:

在LayaPlayer中:
LayaPlayer只关心html中的 <meta> 标签和, <script> 标签。其他标签都会被忽略。而<meta>标签现在只认包含name='laya'属性的,用来设置横竖屏和其他配置,例如:

<meta name='laya' screenorientation='landscape' >

script标签最好是src=’xxx’的形式,因为内联形式的脚本比较复杂,无法用正则表达式解析,很可能会导致解析出错。
其他的一切都不支持。所以依赖于DOM的jquery也不被支持。
同理由于LayaPlayer也不是基于Node的,所以基于node的所有脚本也都不支持。

moketao

赞同来自:

也就是说,LayaAir不支持粘贴板了。。。

moketao

赞同来自:

http://ask.dcloud.net.cn/article/114
这个Native.js挺万能的,要不要laya也把 Native.js 整合进来?
这样就不用辛辛苦苦写什么 java 和 oc 原生代码了
 
比如我现在需要的复制粘贴板功能,在安卓下,直接这样写:
function copyToClip(){
var Context = plus.android.importClass("android.content.Context");
var main = plus.android.runtimeMainActivity();
var clip = main.getSystemService(Context.CLIPBOARD_SERVICE);
plus.android.invoke(clip,"setText","I'm copy from Native.js");
}
在 ios 下,这样写:
var UIPasteboard  = plus.ios.importClass("UIPasteboard");
var generalPasteboard = UIPasteboard.generalPasteboard();
// 设置/获取文本内容:
generalPasteboard.setValueforPasteboardType("testValue", "public.utf8-plain-text");
var value = generalPasteboard.valueForPasteboardType("public.utf8-plain-text");

moketao

赞同来自:

Native.js 的完整介绍:http://ask.dcloud.net.cn/article/88
如果能引入这个,Laya 就能附加百万原生API 的光环

super1013

赞同来自:

你是怎么实现的,能不能分享一下,我的功能和你的一样

moketao

赞同来自:

我是用 html <button> + clipboard.js 最终实现的, 但是担心Native下不能跑起来。
Laya官方能否给一个更便捷的方案?
最好是能h5和native都通用的API,比如 Browser.setClipboard(str)

要回复问题请先

商务合作
商务合作