-
Notifications
You must be signed in to change notification settings - Fork 56
How to fix errors in your .keysnail.js (ja)
Masafumi Oyamada edited this page Sep 24, 2015
·
1 revision
.keysnail.js
内でエラーが発生した際の修正ガイドです。網羅的ではないですが、何かの役に立つかもしれません。
多くのユーザがこのエラーを目にすることでしょう。これは、以前 Firefox でサポートされていた let 式/文 と呼ばれる JavaScript の記法が Firefox 41 になってサポートされなくなり、文法エラーとなるために発生するエラーです(正確には Firefox 41 時点では let 文は文法エラーとなりませんが、将来的に廃止されるようです)。
エラーを修正するためには .keysnail.js
から let 式/文を取り除く必要があります。以下の例を参考にしてみてください。また、詳しくは https://github.com/mooz/keysnail/pull/176 を参照ください。
以下、修正例です。
Fix
// Original (invalid)
function (ev, arg) {
let (elem = document.commandDispatcher.focusedElement) elem && elem.blur();
gBrowser.focus();
content.focus();
}
to
// Corrected (valid)
function (ev, arg) {
let elem = document.commandDispatcher.focusedElement;
if (elem) { elem.blur(); }
gBrowser.focus();
content.focus();
}
Fix
// Original (invalid)
function (ev, arg) {
gBrowser.loadOneTab(
let (url = command.getClipboardText())
url.indexOf("://") === -1 ?
util.format("http://www.google.com/search?q=%s&ie=utf-8&oe=utf-8", encodeURIComponent(url)) :
url,
null, null, null, false
);
}, false
to
// Corrected version (valid)
function (ev, arg) {
let url = command.getClipboardText();
if (url.indexOf("://") === -1) {
url = util.format("http://www.google.com/search?q=%s&ie=utf-8&oe=utf-8", encodeURIComponent(url));
}
gBrowser.loadOneTab(url, null, null, null, false);
}, false
Fix
// Original (invalid)
function (ev) {
if (!command.kill.ring.length)
return;
let (ct = command.getClipboardText())
(!command.kill.ring.length || ct != command.kill.ring[0]) && command.pushKillRing(ct);
prompt.selector(
{
message: "Paste:",
collection: command.kill.ring,
callback: function (i) { if (i >= 0) key.insertText(command.kill.ring[i]); }
}
);
}
to
// Corrected (valid)
function (ev) {
if (!command.kill.ring.length)
return;
let ct = command.getClipboardText();
if (!command.kill.ring.length || ct != command.kill.ring[0]) {
command.pushKillRing(ct);
}
prompt.selector(
{
message: "Paste:",
collection: command.kill.ring,
callback: function (i) { if (i >= 0) key.insertText(command.kill.ring[i]); }
}
);
}