問題
Operaのキーボードショートカット設定ファイルで
a="Go to page, "javascript:alert(0);""
などとすると任意のjavascriptを実行するブックマークレットを1keyショートカットに設定することができますが、
この設定ファイルにおいて"(ダブルクオート)が特殊文字扱いになっているため、
javascriptのストリングリテラルをつくるのにシングルクオートしか使えないという事になっています。
じゃあシングルクオート縛りでjs書けばいいじゃんと思いきや、JSONにおける文字列型はダブルクオートしか使ってはいけないという制約があります。
というわけで、この設定ファイル内のjavascriptでvalidなjsonを文字列として含めたいという場合、困ります。
解決策
var dq=String.fromCharCode(34);
とすることでダブルクオートを含んだ文字列を表現することができます。
以下具体例
a="Go to page, "javascript:(function(){var dq=String.fromCharCode(34);var i=new Image();i.src='http://fluentd/tag?json='+'{'+dq+'title'+dq+':'+dq+escape(document.title)+dq+','+dq+'url'+dq+':'+dq+escape(location.href)+dq+'}';document.body.appendChild(i);})();""
誰かの役に立つんだろうかこのノウハウ