« ココログでもマクロが使えるかどうかのテスト | トップページ | なぜ Valid なページにこだわるか »
2003.12.20
Valid な方法で自分の作ったスタイルシートを使うことに成功
「自分で定義したスタイルシートを使う方法@ココログ その3」で使われている方法をベースにして、validなスタイルシート置き換えを実現する方法を思いつきました。
それは、単に
サブタイトルの内容・その1</h2>
<script type="text/javascript">
<!--
var myStyleHref = "適用したいCSSのURL";
var linkElem = document.getElementsByTagName("LINK");
for(var i = 0; i < linkElem.length; i++){
if(linkElem[i].rel == "stylesheet"){
linkElem[i].href = myStyleHref;
}
}
-->
</script>
<h2>サブタイトルの内容・その2
のように、JavaScript 部分を <!-- と --> で囲むだけ。あと、<h2></h2> のように空文字列を囲むのを避けたいので、「サブタイトルの内容・その1」、「その2」のようにしてみました。
で、Validtor にかけてたところ、無事 Valid のお墨付きがもらえました。やったね!
*** 12月20日 5時 追記 ***
RSS の件ですが、FEED Validator は相変わらず NG (Valid かどうか結果が出る以前に Validator 自身のエラーで落ちてしまう)ですが、RSS Validator の方からは、無事、valid との評価をもらうことができました。
とりあえず、現段階では、これでよしとします。
*** 12月20日 6時50分追記 ***
「自分で定義したスタイルシートを使う方法@ココログ その3」の問題点を書いておきます。http://zog.cocolog-nifty.com/murmur/ を Validator にかけていただくとわかると思いますが、
Line 31, column 17: character "<" is the first character of a delimiter but occurred as data
for(var i = 0; i < linkElem.length; i++){
^
のように < が問題となります。
この問題を回避するための方法が JavaScript 部分を <!-- ~ --> で囲むというものです。
<!-- ~ --> で囲む方法には、JavaScript 非対応のブラウザの場合は単なるコメントとして無視されるため、結果としてブラウザにやさしい、という利点もあります。(JavaScript 部分が無視された場合は ココログ本来のスタイルシートが適用されることになります。これはこれで仕方がないでしょう。ユーザー側で用意したスタイルシートを適用する場合など、コンテンツを書いた人の用意したスタイルシートで見てもらえるという保証は、そもそもないのだし。)
あと、RSS の cdata に含まれる箇所も JavaScript 部分がコメントとして捨てられるので、この点は心配しなくてよくなります。
残った問題は、</h2> ~ <h2> の問題だけですが、これは、「サブタイトル」を使う以上、回避できません。
RSS index template の設定をココログユーザ側でできるようになれば、description 要素をサブタイトルから取ってくるのではなく、別のところからもってくる、もしくは valid な文字列をハードコーディングしてしまう、という解決方法が使えるのですが。Typepad Pro レベルのココログが使えるようになるまでは、現状に甘んじることになりそうです。
投稿者: tsupo 2003.12.20 午前 01:37
| 固定リンク
|
|
|
|
|
| ![]()
|
|
|
|
|
|
「ウェブログ・ココログ関連」カテゴリ内の最近の記事
アマゾンわくわく探検隊
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/6737/36717
この記事へのトラックバック一覧です: Valid な方法で自分の作ったスタイルシートを使うことに成功:
» 続・ココログのスタイルシート from Activity Memo
次は RSS の問題。これはちょっと現状では解決するの、難しいかも。 続きを読む
» 適用4とその周辺 from 詞織
ココログにおけるvalidな方法は編み出されたのか?それはいつ編み出されたのか? そして、なぜnot validな方法が紹介され続けるのか? この記事は「観測... 続きを読む
» エクステンション巡回上の仕様制限 from 本格焼酎忘備録
私の作成したエクステンションではサブタイトル欄をふたつに分けているケースでは正しくサブタイトルを取得することができません。 例えば 観測気球: Valid な方... 続きを読む
» Re:Valid な方法で自分の作ったスタイルシートを使うことに成功 from 凹日記
Valid な方法で自分の作ったスタイルシートを使うことに成功に反応。 確かにご指摘のとおり、XHTMLではSCRIPT要素の内容は#PCDATAと定義されてい... 続きを読む
» スタイルシートの設定 とりあえず、これでfix from 観測気球
javascript を外出しにする(Re:Valid な方法で自分の作ったスタイルシートを使うことに成功)というのは、確かにより現実的な解なので、うちでも採用... 続きを読む
» 引越し完了。 from 三倍速!!
exciteブログよりココログに引越し。 インポートがうまくできなかったので、気 続きを読む
コメント
Valid かもしれないですが、サブタイトルに入れると、RSSにもろ出ますよ (^^;
投稿者: Tiger (2003.12.20 午前 03:25)
現在、RSS 対策を考えているところです。とりあえず、FEED Validator を落としちゃうのはまずいので、それを優先的に対応。RSS リーダ対策の方は、すぐにはいい方法が思いつきません。
ということで、いいアイデアがありましたら、教えてください。
投稿者: tsupo (2003.12.20 午前 04:05)
cdata 部分に入る文字列、要するに、「サブタイトルの内容・その1」、「その2」ですが、漢字部分を実体参照に置換すれば大丈夫かと思ったら、#x80 より大きな文字コードがあると駄目なようです。ISO-8859-1 の文字しか使っちゃ駄目ってことのようです。
投稿者: tsupo (2003.12.20 午前 04:52)
RSSニュースリーダーの 1つである NewsGlue (エラーチェックは結構厳しくやってくれます)では、問題なく取り扱えることを確認しました。とりあえず、一安心。
投稿者: tsupo (2003.12.20 午前 09:18)
携帯電話という話が出て、F2051のi-modeでここを確認したら、サブタイトルの英数字のところ以外がなくなってしまって「valid style sheet !!」となってしまいました (^^;;
う~む、実体参照を表示できないようですね。
困ったブラウザだ (^^;;;
まあ、これはF2051の特有の問題かも知れないので気にすることはないと思いますが、一応、あちらではちらっとしか書かなかったので、気になるかと思い、もう少し詳しくご報告ということで。
投稿者: Tiger (2003.12.21 午前 06:51)




