X浏览器怎样实现利用javascript获取剪贴板内容?

我用的是安卓X浏览器,这个浏览器自带支持纯Javascript脚本,现在我有一段代码:
var url = navigator.clipboard.readText();
//alert(url);
var value={},host='192.168.1.1',port='6800';
var Service = new WebSocket("ws://"+host+":"+port+"/jsonrpc");
value.jsonrpc = "2.0";
value.id = Math.floor(Math.random()*(1000000000000000-9999999999999999))+9999999999999999;
value.method = "aria2.addUri";
value.params = [];
value.params.push(url);
Service.onopen = OnServiceOpen;
function OnServiceOpen(){Service.send(JSON.stringify(value));};
alert("推送成功");

其中var url = ["http://www.baidu.com"]时是没有问题的,但是我想利用navigator.clipboard.readText()实现从剪贴板获取网址然后赋值给url,它返回promise获取内容失败,有其他的代码可以实现这个功能吗

第1个回答  2023-01-20
这段代码使用了 navigator.clipboard.readText() 方法来读取剪贴板中的文本内容,并将其赋值给变量 url。但是由于这个方法返回一个 promise,所以需要使用 .then() 或 async/await 来处理返回的结果。例如:

Copy code
navigator.clipboard.readText().then(text => {

var url = text;

//其他代码
});



Copy code
async function getClipboardText() {

var url = await navigator.clipboard.readText();

//其他代码

}

如果仍然无法获取剪贴板中的文本内容,那么可能是因为当前的浏览器不支持 navigator.clipboard API。追问

.then() 或 async/await 在发提问之前已经尝试过了,都是使用后代码直接不运行了,是不是代表浏览器不支持navigator.clipboard.readText()呢,如果是的话有其他可以代替navigator.clipboard.readText()的代码吗?