|
|
@ -1945,7 +1945,21 @@ const char *GetClipboardText(void) |
|
|
|
return glfwGetClipboardString(CORE.Window.handle); |
|
|
|
#endif |
|
|
|
#if defined(PLATFORM_WEB) |
|
|
|
return emscripten_run_script_string("navigator.clipboard.readText()"); |
|
|
|
// Accessing clipboard data from browser is tricky due to security reasons |
|
|
|
// The method to use is navigator.clipboard.readText() but this is an asynchronous method |
|
|
|
// that will return at some moment after the function is called with the required data |
|
|
|
emscripten_run_script_string("navigator.clipboard.readText() \ |
|
|
|
.then(text => { document.getElementById('clipboard').innerText = text; console.log('Pasted content: ', text); }) \ |
|
|
|
.catch(err => { console.error('Failed to read clipboard contents: ', err); });" |
|
|
|
); |
|
|
|
|
|
|
|
// The main issue is getting that data, one approach could be using ASYNCIFY and wait |
|
|
|
// for the data but it requires adding Asyncify emscripten library on compilation |
|
|
|
|
|
|
|
// Another approach could be just copy the data in a HTML text field and try to retrieve it |
|
|
|
// later on if available... and clean it for future accesses |
|
|
|
|
|
|
|
return NULL; |
|
|
|
#endif |
|
|
|
return NULL; |
|
|
|
} |
|
|
|