web-dev-qa-db-ja.com

値はシーケンスのSafari例外ではありません

enter image description here

コードベースのconsole.logステートメントでこのエラーが発生します。これはMac 10.16.6のSafari 11.0(12604.1.38.1.7)にのみ影響します

これを解決するにはどうすればよいですか?

14
bohdaq

「WebDriver」拡張機能を無効にする必要があります。

これと同じ問題があり、スタックトレースには、この呼び出しを行っていた「スクリプト要素」と呼ばれるリソースが含まれていました。

b.initMessageEvent("safaridriver.message", !1, !1, a, window.location.Origin, "0", window, null);

たぶん、これを修正するSafariDriverのアップデートがありますか?

41
Jonathan Cole

ここでの主な答えは、私を間違った道に導きました。

いくつかのメモ:

  • 私のconsole.logはSafari 12.0.3で問題なく機能します。
  • 「値はシーケンスではありません」という元のエラーは、いくつかの異なる理由で発生する可能性があります
  • Self.postMessage()に1つではなく2つの引数があったため、エラーが発生していることがわかりました。
    • TypeScriptは、self.postMessage()には2つの引数があると考えています
    • 2番目のpostMessage引数がnullだったため、Safariがエラーをスローしました

私のコードは:

self.postMessage(data,null)

今私の作業コードは:

const selfie: Worker = self as any;

selfie.postMessage(data)

他の人がTypeScriptを使用し、self.postMessage()に2つの引数が必要であると考えるので、私の回答は適切であると思います。

2
Acker Apple