- blogs:
- cles::blog
2017/11/24

Shortkeys と自作スクリプトの組み合わせで My CopyFixer と同等の機能を実現


表示している Web サイトのサイト名と URL をコピーしてくれるアドオン「My CopyFixer」が Firefox Quantum で動かなくなってしまい、その良い代替が見つからないので、任意のキーボードショートカットを入力するとスクリプトを実行することができる Shortkeys と JavaScript を使って同等の機能を実装してみました。
JavaScript からクリップボードを利用するたメソッド( execCopy() )については「JavaScriptでクリップボードに文字をコピーする(ブラウザ)」から、選択部分を取り込むメソッド(getSelectText())については「選択した範囲を取得」から、それぞれ使わせていただきました。
† コピーされる内容
今回作成したスクリプトを使うことでクリップボードに挿入される HTML は以下のような感じになります。
blockquote の部分については、選択部分がない場合にはクリップボードに挿入されません。
<a href="**URL**" title="**タイトル**">**タイトル**</a>
<blockquote>**選択部分**</blockquote>
† 今回作成した JavaScript
以下のスクリプトを任意のショートカットで、Shortkeys に設定します。
// from https://qiita.com/simiraaaa/items/2e7478d72f365aa48356
function execCopy(string){
var temp = document.createElement('div');
temp.appendChild(document.createElement('pre')).textContent = string;
var s = temp.style;
s.position = 'fixed';
s.left = '-100%';
document.body.appendChild(temp);
document.getSelection().selectAllChildren(temp);
var result = document.execCommand('copy');
document.body.removeChild(temp);
return result;
}
// from http://shanabrian.com/web/javascript/window-getselection.php
var getSelectText = function() {
if (window.getSelection) {
return window.getSelection().toString();
} else if (document.selection) {
return document.selection.createRange().text;
} else {
return '';
}
};
var selected = getSelectText();
if( selected.length > 0 ){
execCopy('<a href="'+document.location+'" title="'+document.title+'">'+document.title+"</a>\n<blockquote>"+selected+'</blockquote>');
} else {
execCopy('<a href="'+document.location+'" title="'+document.title+'">'+document.title+'</a>');
}
//alert(selected);
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/9775
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
コメントはありません
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
サイト内検索
検索ワードランキング
へぇが多いエントリ
閲覧数が多いエントリ
1 . アーロンチェアのポスチャーフィットを修理(112029)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110663)
3 . 年次の人間ドックへ(110290)
4 . 2023 年分の確定申告完了!(1つめ)(109827)
5 . 三菱鉛筆がラミーを買収(109736)
2 . 福岡銀がデマの投稿者への刑事告訴を検討中(110663)
3 . 年次の人間ドックへ(110290)
4 . 2023 年分の確定申告完了!(1つめ)(109827)
5 . 三菱鉛筆がラミーを買収(109736)
cles::blogについて
Referrers