Можно ли использовать форматированный текст в качестве заголовка в пользовательском меню в скриптах Google? - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь сделать так, чтобы заголовок «О программе» отображался как подчеркнутый синим цветом в пользовательском меню в скриптах Google, чтобы было ясно, что нажатие на «О программе» откроет гиперссылку.

Я могу использовать строковую переменную в качестве заголовка в пользовательском меню, но не могу заставить любопытного HTML caption2 работать.

Есть ли обходной путь?

 function onOpen(){
  var caption1 = "About"; //WORKS!
  var caption2 = "<HTML><b><u> body {color: blue;} <body> About  
   </body></u></b></HTML>"; //Does not work 


var ui = SpreadsheetApp.getUi(); 
   ui.createMenu("DTB Tools") 
  .addItem("Trim Data","shrink")
  .addSeparator()
  .addItem(caption2,"openUrl")   
  .addToUi();
   };

// URL For Custom Menu Item - This section is working fine
function openUrl(){
  var url = "https://docs.google.com/document/d/1YLl-y_BO5dToT- 
      rT_cjvXwliK2RB0UnAZ5Wn01PZGwk/edit?usp=sharing";
  var html = HtmlService.createHtmlOutput('<html><script>'
   +'window.close = function(){window.setTimeout(function() 
    {google.script.host.close()},9)};'
   +'var a = document.createElement("a"); a.href="'+url+'"; 
 a.target="_blank";'
  +'if(document.createEvent){'
  +'  var event=document.createEvent("MouseEvents");'
  +'  if(navigator.userAgent.toLowerCase().indexOf("firefox")>-1) 
 {window.document.body.append(a)}'                          
  +'  event.initEvent("click",true,true); a.dispatchEvent(event);'
  +'}else{ a.click() }'
  +'close();'
   +'</script>'
  // Offer URL as clickable link in case above code fails.
    +'<body style="word-break:break-word;font-family:sans-serif;
   ">Failed to open automatically. <a href="'+url+'" 
    target="_blank" onclick="window.close()">Click here to 
    proceed</a>.</body>' + 
   '<script>google.script.host.setHeight(40); 
    google.script.host.setWidth(410)</script>'+'</html>')
   .setWidth( 90 ).setHeight( 1 );
   SpreadsheetApp.getUi().showModalDialog( html, "Opening ..." );
 }
...