Firefox Add-ons:userChromeJS: CopyUrlLitePlus.uc.js ― 2009/08/09 00:03
非選択時のメニュー
選択中のメニュー
せっかくuserChromeJSを使ってるのだからとMake Link に設定しているのをCopyUrlLitePlus.uc.js - Code-404で置き換えてみました。
CopyUrlLitePlus.uc.jsではマウスカーソルがリンク上にあるときに、リンク先をURLとするメニューが追加されますが、私としてはMake Linkのようにリンク上で右クリックした時にはURLにリンク先が勝手に入る方が望ましかったので、ソースを少しいじりました(更にいじってます)。
(じつのところ、JavaScriptとか何が書いてあるかはチンプンカンプンなのですが、CSSをいじる感覚で切り貼りしてますw)
先程のリンクの部分だと、リンク上で右クリックしたらURLはリンク先に置き換えるとか
text: '<a href="%URL_HTMLIFIED%">%TITLE_HTMLIFIED%</a>'
text: '<a href="%URL_HTMLIFIED%" title="%TITLE_HTMLIFIED%"></a>'
を
text: '<a href="%URL_HTMLIFIED%">%TXT_HTMLIFIED%</a>'
text: '<a href="%URL_HTMLIFIED%" title="%TITLE_HTMLIFIED%">%TXT_HTMLIFIED%</a>'
に変えて、選択中文字列とタイトルが切り替わるとか
Make Linkでも不満だった選択中文字列の改行を「<br>改行」にするべく(Make Link 8.06から%text_br%が追加されてたんですね。気が付かなかった。orz)
「function htmlEscape(text) {」
に
「text = text.replace(/\r\n/g, "<br>\r\n");」
を加えてみたりで、ほぼ満足。
(JavaScriptが分かれば、満足するまでいじるのでしょうけどw)
切り貼りに毛の生えた程度でも、かなり自由度が高くなるのがいいですね。
-追記-
画像のリンクは使ってなかったこともあって「リンク上で右クリックしたらURLはリンク先に置き換える」の副作用に気づいていませんでした。
普通の画像の上で右クリックする分には構わないのですが、リンクになっている画像の上で右クリックすると、表示中のURLでなくリンク先のURLで画像リンクを作成してしまいます。
ということで修正。
リンクでない画像でも画像のリンクを有効にするため
選択中のメニュー
せっかくuserChromeJSを使ってるのだからとMake Link に設定しているのをCopyUrlLitePlus.uc.js - Code-404で置き換えてみました。
CopyUrlLitePlus.uc.jsではマウスカーソルがリンク上にあるときに、リンク先をURLとするメニューが追加されますが、私としてはMake Linkのようにリンク上で右クリックした時にはURLにリンク先が勝手に入る方が望ましかったので、ソースを少しいじりました(更にいじってます)。
(じつのところ、JavaScriptとか何が書いてあるかはチンプンカンプンなのですが、CSSをいじる感覚で切り貼りしてますw)
先程のリンクの部分だと、リンク上で右クリックしたらURLはリンク先に置き換えるとか
if(gContextMenu.onLink){ text = text.replace(/%URL_HTMLIFIED%/g, link_html); text = text.replace(/%URL%/g, link); } else { text = text.replace(/%URL_HTMLIFIED%/g, url_html); text = text.replace(/%URL%/g, url); }
text: '<a href="%URL_HTMLIFIED%">%TITLE_HTMLIFIED%</a>'
text: '<a href="%URL_HTMLIFIED%" title="%TITLE_HTMLIFIED%"></a>'
を
text: '<a href="%URL_HTMLIFIED%">%TXT_HTMLIFIED%</a>'
text: '<a href="%URL_HTMLIFIED%" title="%TITLE_HTMLIFIED%">%TXT_HTMLIFIED%</a>'
に変えて、選択中文字列とタイトルが切り替わるとか
if(gContextMenu.isTextSelected){ text = text.replace(/%SEL_HTMLIFIED%/g, sel_html); text = text.replace(/%SEL%/g, sel); text = text.replace(/%TXT_HTMLIFIED%/g, sel_html); text = text.replace(/%TXT%/g, sel); } else { text = text.replace(/%TXT_HTMLIFIED%/g, title_html); text = text.replace(/%TXT%/g, title); }
Make Linkでも不満だった選択中文字列の改行を「<br>改行」にするべく(Make Link 8.06から%text_br%が追加されてたんですね。気が付かなかった。orz)
「function htmlEscape(text) {」
に
「text = text.replace(/\r\n/g, "<br>\r\n");」
を加えてみたりで、ほぼ満足。
(JavaScriptが分かれば、満足するまでいじるのでしょうけどw)
切り貼りに毛の生えた程度でも、かなり自由度が高くなるのがいいですね。
-追記-
画像のリンクは使ってなかったこともあって「リンク上で右クリックしたらURLはリンク先に置き換える」の副作用に気づいていませんでした。
普通の画像の上で右クリックする分には構わないのですが、リンクになっている画像の上で右クリックすると、表示中のURLでなくリンク先のURLで画像リンクを作成してしまいます。
ということで修正。
if(gContextMenu.onImage){ link = url; link_html = url_html; var imageUri = gContextMenu.imageURL; var imageUriHtml = htmlEscape(imageUri); var imageAlt = gContextMenu.target.alt; var imageAltHtml = htmlEscape(imageAlt); var imageTitle = gContextMenu.target.title; var imageTitleHtml = htmlEscape(imageTitle); } var eol = "\r\n";
リンクでない画像でも画像のリンクを有効にするため
gContextMenu.onLink &&
を消す。
function setMenuDisplay(){
for (var i = 0, menu; menu = mMenus[i]; i++)
document.getElementById("copyurllite-menu-" + i).hidden =
menu.condition == "select" ?
!gContextMenu.isTextSelected :
menu.condition == "image" ?
!gContextMenu.onImage :
menu.condition == "select-image" ?
!(gContextMenu.isTextSelected && gContextMenu.onImage) :
menu.condition == "link-image" ?
!(gContextMenu.onImage) :
menu.condition == "select-link-image" ?
!(gContextMenu.isTextSelected && gContextMenu.onLink && gContextMenu.onImage) : false;
}
最近のコメント