禺画像]
非選択時のメニュー
禺画像] 選択中のメニュー
せっかく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;
}
セコメントをする