

GASでV8 runtimeが使用可能になりました。  
<https://developers.google.com/apps-script/guides/v8-runtime?hl=ja>

しかし、HtmlService.getUserAgent()関数を呼ぶと、レガシーのRhinoエンジンでは使用中のブラウザ情報が返っていましたが、V8エンジンではnullが返るようです。  
これを修正、または回避する方法はあるでしょうか。

[code]

    function baz() {
      var foo = HtmlService.getUserAgent();  
      Logger.log(foo);
      return 1;
    }
    
[/code]

上のコードをRhinoエンジンで実行すると、V8では「null」が表示されます。


CC BY-SA 4.0
2020-02-10T08:37:55.840
62926
2020-09-02T01:02:50.260
26673
question
javascript google-apps-script ecmascript-6
GASのV8 runtimeでHtmlService.getUserAgent()が使えない


いいことなのか分からないのですが、英語版でも質問し、一応の解決を見ました。

<https://stackoverflow.com/questions/60146774/gas-htmlservice-getuseragent-
returns-null-when-using-v8?noredirect=1#comment106391217_60146774>

要旨としては、V8はGASのHtmlService.getUserAgent()をまだ使えないようだ、代わりにクライアントサイドのJavaScriptでNavigatorインターフェイスを使えば使える、というものでした。

<https://developer.mozilla.org/ja/docs/Web/API/Navigator>

GASのWebAppsでも動作し、いちおう目的を達成しました。

また、GoogleのIssueTrackerにも起票すべきというコメントもいただき、そちらも起票しました。  
<https://issuetracker.google.com/issues/149247107>

以上です。


CC BY-SA 4.0
2020-02-11T03:53:45.050
62945
2020-02-11T03:53:45.050
26673
62926
answer