|
|
||
IRC: irc://irc.opera.com/japanese <--Opera 日本語ユーザのためのIRCチャンネル。
上のがつながらない場合は irc://irc.se.opera.com/japanese
全角で書かれたURLを - opera:hige - チーム俺等を修正したもの。
Item, "Go to URL"=Go to page,"javascript:var t=document.getSelection();var url=z2h_ascii(t);if(!url.match(/^\w+:\/\/(.*)/)){url='http://'+url;}location.href=url;function z2h_ascii(src){var str=new String;var len=src.length;for(var i=0;i<len;i++){var c=src.charCodeAt(i);if(c>=65281&&c<=65374&&c!=65340){str+=String.fromCharCode(c-65248);}else if(c==8217){str+=String.fromCharCode(39);}else if(c==8221){str+=String.fromCharCode(34);}else if(c==12288){str+=String.fromCharCode(32);}else if(c==65507){str+=String.fromCharCode(126);}else if(c==65509){str+=String.fromCharCode(92);}else{str+=src.charAt(i);}}return str;}"
上のコードをmenu.iniの[Hotclick Popup Menu]にあるデフォルトのGo to URLと置き換えれば全角で書かれたURLもページ移動できるようになる。
今回修正したところはプロトコルがhttp以外でもいけるようにした。
javascript内、menu.iniの書式が間違っていたのを修正。すみません。。。
フレームのページだと"document.getSelection()"では選択文字列を取得できないので、
Item, "Go to URL"=Go to page,"javascript:var t='%t';var url=z2h_ascii(t);if(!url.match(/^\w+:\/\/(.*)/)){url='http://'+url;}location.href=url;function z2h_ascii(src){var str=new String;var len=src.length;for(var i=0;i<len;i++){var c=src.charCodeAt(i);if(c>=65281&&c<=65374&&c!=65340){str+=String.fromCharCode(c-65248);}else if(c==8217){str+=String.fromCharCode(39);}else if(c==8221){str+=String.fromCharCode(34);}else if(c==12288){str+=String.fromCharCode(32);}else if(c==65507){str+=String.fromCharCode(126);}else if(c==65509){str+=String.fromCharCode(92);}else{str+=src.charAt(i);}}return str;}"
にしといた方が良いかな。javascriptで"%t"などを使えるとは目から鱗。そういえばsearch.iniのjavascript版のときも"%s"をつかってたっけな。
教えて頂いた「別窓で開く全角URL対応Go to page」の件ですが、特定のページで使用すると「そのページのドメイン/指定したURL」になっていしまいました。
(FC2BLOGで再現します)
なお、教えて頂いたコードは下記のページにあります。
http://my.opera.com/karakara/blog/2007/01/23/url-go-to-page