私は Firefox 拡張機能を作成しており、コンテキスト メニューで現在の選択をキャプチャしようとしていますが、問題なく動作します。ただし、現在の選択範囲を二重引用符で囲む必要があります。コードスニペット:
contentScript: 'self.on("context", function () {' +
' var text = \"'+'window.getSelection().toString()'+'\";' +
' if (text.length > 20)' +
' text = text.substr(0, 20) + "...";' +
' return "Search Google for " + text;' +
'});'
JavaScript は一重引用符で囲まれており、上記のコード フラグメントのように二重引用符をエスケープしようとしましたが、コンテキスト メニューに次の出力が表示されます。
Search Google for window.selection(...
検索文字列の二重引用符をエスケープするにはどうすればよいですか。返された文字列に二重引用符を追加しようとしましたが、無駄でした。おそらく、ここでは JavaScript コード自体が文字列であるためだと思います。どんな助けでも大歓迎です。