app中长摁文字不能弹出菜单复制、粘贴

发布时间:2020-08-23 13:09

我们在编写app时长摁文字不能弹出菜单复制、粘贴等菜单界面?

这是因为apicloud默认是不允许复制、粘贴等这里需要额外处理一下。


解决方法一:


使用api.openWin,api.openFrame,api.openFrameGroup等打开页面时需要设置参数allowEdit:true,因为他的默认值是false。

allowEdit : 是否允许长按页面时弹出选择菜单。

// openWin
api.openWin({
    name: 'ipwas',
    url: 'https://www.ipwas.cn',
    allowEdit:true // 是否允许长按页面时弹出选择菜单
});

// openFrame
api.openFrame({
    name: 'ipwas',
    url: 'https://www.ipwas.cn',
    allowEdit:true // 是否允许长按页面时弹出选择菜单
});

// openFrameGroup
api.openFrameGroup({
    name: 'group1',
    rect: {
        x: 0,
        y: 0,
        w: 'auto',
        h: 'auto'
    },
    frames: [{
        name: 'ipwas',
        url: 'https://www.ipwas.cn',
        allowEdit:true // 是否允许长按页面时弹出选择菜单
    }, {
        name: 'article',
        url: 'https://www.ipwas.cn/article.html',
        allowEdit:true // 是否允许长按页面时弹出选择菜单
    }]
}, function(ret, err) {
    var index = ret.index;
});


解决方法二:


使用CSS 更改属性变为可复制。

html,body {
	/* 强制允许元素文本可复制 */
	-webkit-user-select:text!important;
	user-select:text!important;
}

/* 使所有元素可复制 */
*{
	/* 强制允许元素文本可复制 */
	-webkit-user-select:text!important;
	user-select:text!important;
}

/*这里你也指定class变为可复制*/


注意:如果上述其中方法你用了没有效果,可以二者合并使用!