:)
我开发了一个 Vaadin 14 Flow 网络应用程序。当按下按钮时,URL 应该被复制到剪贴板。 javascript 被执行,因为警报显示正确。在 PC 和 Android 手机上,复制工作正常。不幸的是,该代码不适用于 Safari 中的 Iphone。
代码来自这里https://www.freecodecamp.org/news/copy-text-to-clipboard-javascript/
感谢您的帮助。 :)
JavaScript:
window.copyTextToClipboard = async function copyTextToClipboard(url) {
try {
await navigator.clipboard.writeText(url);
console.log('Content copied to clipboard');
alert('Copied')
} catch (err) {
console.error('Failed to copy: ', err);
alert('Not Copied')
}}
调用 Javascript 的 Javacode:
shareUrlButton.addClickListener(event -> {
String url = "www.test.de";
UI.getCurrent().getPage().executeJs("copyTextToClipboard($0)",url);
Notification.show(resourceBundle.getString("shareMessage"),5000, Notification.Position.BOTTOM_CENTER).addThemeVariants(NotificationVariant.LUMO_SUCCESS);
});