opera:hige このページをアンテナに追加

 | 

2006-03-18

[]全角URL対応Go to page修正。 10:57 全角URL対応Go to page修正。 - opera:hige を含むブックマーク はてなブックマーク - 全角URL対応Go to page修正。 - opera:hige

全角で書かれた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の書式が間違っていたのを修正。すみません。。。

再追記 3/23 16:47

フレームのページだと"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"をつかってたっけな。

からから2007/03/12 20:46何度も申し訳ありません。
教えて頂いた「別窓で開く全角URL対応Go to page」の件ですが、特定のページで使用すると「そのページのドメイン/指定したURL」になっていしまいました。
(FC2BLOGで再現します)
なお、教えて頂いたコードは下記のページにあります。
http://my.opera.com/karakara/blog/2007/01/23/url-go-to-page

トラックバック - http://orera.g.hatena.ne.jp/higeorange/20060318
 |