Firefox・Netscapeで連続した半角文字を折り返す
FirefoxやNetscape 等、Geckoエンジンを用いたブラウザでは、連続した半角文字(長いURLや半角空白のないスクリプト等)を途中で折り返せないという既知のバグがあります。当サイトでもMTタグをリストとして掲載している記事をFirefox・Netscape等で表示すると、画像のようにブロックからはみ出して表示されてしまいます。 |
FirefoxではURLの折り返しについては url_breaker という拡張が公開されており、これがスタンダードな対処方法になっているようです。
またURL以外のテキストにも適用したい場合、url_breker_plus が公開されています。
- outsider reflex:Firefoxで長いURIを折り返す
- (本文中にダウンロードのリンクがあります)
まず、上記を Firefox拡張として利用する場合は、下記の手順で設定します。GreaseMonkey という拡張を利用する GreaseMonkey 版と、url_breaker を直接拡張として利用するXPI版があります。作業はいずれも Firefox で行います。
GreaseMonkey版
- GreaseMonkeyのページにある「Install Greasemonkey 0.3.5.」をクリック
- 「今すぐインストール」をクリック
- 再起動(これで追加した拡張が有効になります)
- url_breakerまたはFirefoxで長いURIを折り返すのページにある url_breaker.user.js または url_breaker_plus.user.js(リンク自体は文章です) のリンクを右クリックして「Install User Script...」を選択
- 開いた画面で「OK」をクリック
XPI版(url_breker のみ)
- url_breakerのページにある「インストール/ダウンロード」のリンクをクリック
- 「今すぐインストール」をクリック
- 再起動(これで追加した拡張が有効になります)
となっています。
次に、url_breaker は本来 Firefox拡張ですが、ブラウザやユーザ設定に依存しない(例えばNetscapeに適用させたい等)方法という意味で、通常のJavaScritpと同様に設定するカスタマイズについても併せてご紹介致します。
#Firefox拡張との競合や機能の認識不足等で問題があるようでしたら本エントリーのカスタマイズは行わない旨を改めて掲載したいと思います。
1.スクリプトのダウンロード
上記の url_breaker または url_breker_plus をダウンロードします。
2.スクリプトのアップロード
どちらもアーカイブ形式ではありませんので、ダウンロードしたスクリプト(url_breaker.user.js または url_breaker_plus.user.js)をそのままローカル・サイト・パス(index.htmlが置かれているところ)にアップロードします。
3.テンプレートの修正
スクリプトを適用したいテンプレートの最後の方に
:
<script src="<$MTBlogURL$>url_breaker_plus.user.js" type="text/javascript"></script>
</html>
という風に青色部分を追加します(例は url_breaker_plus.user.js の場合です)。
ページの最後に設定する理由は、このスクリプトがページが表示された後に実行される必要があるためです。逆に <head>~</head> の部分に挿入しても効果はありませんのでご注意ください。
拡張機能またはスクリプトの導入で表示が改善されました(左)。スクリプトの動作は、スクリプト内に記述された特定の半角文字列の後方に <wbr> を挿入するというもので、ウィンドウ幅のリサイズに伴って折り返し位置を変えてくれますので、固定カラムだけでなく可変カラムデザインのサイトにもかなり有効です。 |
4.スクリプトの修正
IE系ブラウザで本スクリプトを動作させるとJavaScriptエラーが発生しますので、スクリプトに、
(function () {
if(navigator.appName == 'Netscape'){
:
(中略)
:
}
})();
と青色の2行を加え、Mozilla系ブラウザのみで動作するようにしてください。
以上です。
2005.08.05 追記
機能の認識不足で誤解を招く説明になっていたため、本文を一部修正致しました。併せてタイトルも修正しました。
2005.09.27 追記
IEでJavaScriptエラーになるのを避けるため、スクリプトの修正を必須項目に変更しました。
- Movable Typeの日付タグフォーマットの西暦を元号で表示する
- WordPressやMovable Typeで作ったサイトを日本語ドメインで運用する
- 「最近のコメント」のページを作る(改)
- 「最近のコメント」のページを作る
- トップページの最新記事に Google Adsense を貼り付ける
- Sitemaps 0.90 用テンプレート(MT4対応)
- Movable Type でブログを複数作成する
- Sitemaps 0.90 用テンプレート(Google・Yahoo!・MSN サポート)
- メール送信ページを作る
- 404 エラーページを作る
- 著作権表示の西暦をリアルタイム化する
- プロフィールのページを作る(3.2-ja~3.35-ja用)
- アーカイブページを作る
- Tag Cloud のページを作る
- ShrinkFinfo Plugin 0.04公開
≫ 再リンクのお願い:Love Golf 1-2 Finish Campaign from Zero Cool の独り言
"かけさん" がインターネットから姿を消している間、一時的に "Love Go... [続きを読む]
≫ Firefoxで長いURLなんかを折り返してくれるJavaScript from やむやむ
前から気になってたけど、たいした理由もなく後回しにしてた (見て見ぬふりをしてた. [続きを読む]
≫ URL 文字列の折り返し from いろんなことが起こる
http://yasunao.minidns.net/ispdc/#long-l... [続きを読む]
≫ URL 文字列の折り返し from いろんなことが起こる
http://yasunao.minidns.net/ispdc/#test-t... [続きを読む]
≫ Mozilla系のブラウザで半角英数の文字列を折り返させる from Sunflower
2005/img/20051119_jsfirefox.gif" alt="Mo... [続きを読む]
≫ Firefox:連続した半角文字列を折り返す拡張機能 from ZOO PC
唐突だけど、自分はOSがMacで、ブラウザはFirefox。
シェアはSafariとどちらが多いのだろう?
そんなことはどうでもいい。いや、よくないか... [続きを読む]
≫ 連続した半角文字を折り返す from Free Style
Firefox・Netscapeで連続した半角文字が折り返されず、囲った枠から ... [続きを読む]
≫ 長いURIの折り返し(Mozilla系) from KaleidoScope
http://map.yahoo.co.jp/pl?nl=43.3.7.31&el=141.18.42.8&la=1&sc=5長い半角英数の表示テスト。*... [続きを読む]
≫ 長いURLを強制改行(折り返し)するJavascript from nakawake.oops!
こんにちは、なかわけです。 今日は仕事中にすごいいい情報を手に入れました。今日1... [続きを読む]
≫ 長いURLを強制改行(折り返し)するJavascript from nakawake.oops!
こんにちは、なかわけです。 今日は仕事中にすごいいい情報を手に入れました。今日1... [続きを読む]
こんばんは。
ちょっとコメントするに悩みましたが・・・
これって本来Firefox拡張機能なのでは?
そうしないと他のサイトでは結局折り返らないわけですし^^;
>WINDさん
こんばんは。
早々のご指摘ありがとうございました。
ユーザがブラウザの拡張を行うことで(他のサイトも)一意に折り返るようになるという考えも納得ですが、Firefox 独自の機能であれば Netscape には適用可能という認識でおります。
ということで本文を若干修正しましたが根本的に問題があるようでしたら再度ご教示頂ければ幸いです。
なお、根本的な認識誤りであれば本文でお詫びしたいと思います。ただ基本的にエントリー全体を抹消することはしたくないのでその点はご理解ください。
以上です。
それではよろしくお願い致します。
こんにちは。これ、前から気になってたことだったんですけど、ずっとそのままにしてて、
だけど 最近書いた記事でまたまたこの現象を目で確認してしまったので
我慢ならず、やっと重い腰をあげて、スクリプトを入れました。
もう、Firefox でも 文字列が 壁を突き破っちゃうようなことはなくなりました。
ん???。。。
「オブジェクトでサポートされてないプロパティまたはメソッドです。」 というエラーが出るようになっちゃいました。
やっぱ、拡張機能として使ったほうがベターなのでしょうか?
>さえらさん
こんにちは。
ご指摘ありがとうございます。
すいませんが記事の最後に書いてある修正も行ってみていただけますでしょうか(4項として必須項目にしました)。
再度動作確認を行い、IE6/Firefox/Netscape7/Opera8でJavaScriptエラーが出ないことを確認しました。
Firefox の拡張機能として利用するのが本来ですが、Netscape でも同様の効果があり、利用者の環境に依存しない解決策として有効と考えます。
w(°o°)w おおっ!!わっかりましたー。
今日はこれから出かけるので、できそうにもないのですが
近々やってみます。ありがとうございます。
できましたー。IEでエラー出なくなりました。( ̄ー ̄)v
>さえらさん
こんばんは。
ご連絡ありがとうございました。
うまくできたようでよかったです!