Copy to clipboard in a captive portal

I'm trying to Add a button to copy a link ([www.google.com/MACadress] to the clipboard, but it's not working. I'm trying to add two const char on the WifiManager.h:

const char HTTP_GENERATE_O2BASE_LINK_SCRIPT[] PROGMEM  = "<script>async function copyLink(){document.querySelector('#button').addEventListener('click', async function(event){             return await navigator.clipboard.writeText('https://www.google.com!').then(() => console.log('Coppied!'));         });}</script>";
                                                            
const char HTTP_GENERATE_O2BASE_LINK[] PROGMEM  = "<br/><button id='button'>Generate O₂BASE Link</button>";

And add it to the page on WifiManager.cpp:

String page = FPSTR(HTTP_HEADER);

  page.replace("{v}", "Options");

  page += FPSTR(HTTP_IMAGE);

  page += FPSTR(HTTP_SCRIPT);

  page += FPSTR(HTTP_GENERATE_O2BASE_LINK_SCRIPT);

  page += FPSTR(HTTP_STYLE);

  page += _customHeadElement;

  page += FPSTR(HTTP_HEADER_END);

  page += String(F("<h1>"));

  page += _apName;

  page += String(F("</h1>"));

  page += FPSTR(HTTP_PORTAL_OPTIONS);

  page += FPSTR(HTTP_GENERATE_O2BASE_LINK);

  page += FPSTR(HTTP_END);