技術メモ カテゴリー

web系技術メモ

背景画像の印刷

[技術メモ] 2008年5月8日(木曜日) 19:54

おのれwMSめぇwww

IEのデフォルトでは、背景扱いの画像が印刷されません。
「ツール→インターネットオプション→詳細→背景の色とイメージを印刷する」の呪文を唱える必要があります。IEは、なんでまたこんな深い場所に隠すのでしょう(ノД`)ちなみにOperaは印刷時にサクっと選択できるので素敵です。

文字列代替画像

例えば、<h1>ページのタイトルだぜこんちきしょう</h1>等とタグを書きます。
そして、単純な装飾では足らず、画像に置換するケースが少なく無いのですが、これが、印刷されません。
「呪文」を唱えれば済むとは言え、そこをナントカしてくれという要望も存在します。

印刷専用時専用の画像をHTMLレベルで入れ込む

<img … class=”forprint” />などとし、印刷時(@media print)以外は 非表示(display:none;)に。
しかし、タギング的にモヤモヤしますし、これ実は非印刷時でもしっかり読みこまれてます。(少なくともIE6では)印刷用に大きな画像読んじゃおうかな!なんて欲張ると結構な転送量に。

印刷専用スタイルにする

画面の印象と大分変わってしまいます。それを逆手にとって「画面はモニタインタフェイス専用、刷れば即A4パンフ!」なコンセプトしてしまうのも手ではあります。

DOMスクリプティングで置換

なにやらJavaScriptで無理やり(笑)imgタグに置換する手段もあるようです。一見もっとも強引ですが、案外、エレガントかもしれません。

妙技

「背景印刷の注意書きでは駄目ですか…」と心を決めたそんな中、クライアントから(おいw)妙技を教わりました。
h1#sample{
color: #fff;
display: list-item;
list-style-image: url(head_bg.png);
list-style-position: inside;
letter-spacing: -1000em;
font-size: 1pt;
}

これ、無理やり「リスト化」し「ポインタ画像」として背景を読み込むと印刷される!という技のようです。
実際試してみると、width:0pxなど色々調整する必要があり、その上IE以外の主要ブラウザで表示出来ないという致命傷まで。残念(ノ∀`)

ん?なら、IEにだけ印刷スタイルを用意して、それで上記テクによる再置換をするのがベストか?
「背景印刷呪文」の弊害はIEのシェアの広さに起因しますので、いっそIEのみ対応で良いんじゃないかなと。
IEだけびブラウザ判定ならConditional commentsが使えるのも利点でしょうか。

Comments (0)

TrackBack URL :

<!–more–>
いわゆる「続きを読む」でページをたたむwordpressのタグです。たたんだ際に意図しない空行が入ってしまうことがありませんか?見出し直下で折りたたむのが悪いのですが(笑)だんだん気になってきて…って最初からソースを見ればよかったんですよね。

結論

行頭に入れるべし。
しかし…

ビフォアー

投稿時のエディタ上
<h3>そもそもマークアップは必要なのか</h3><!--more-->
HTMLコーダーとしては、そりゃ、あった方が良い。

画面出力
空行が入ってしまう例
出力HTML
<h3>そもそもマークアップは必要なのか</h3>
<p><span id="more-63"></span><br />
HTMLコーダーとしては、そりゃ、あった方が良い。

投稿時のエディタ上

<h3>そもそもマークアップは必要なのか</h3>
<!--more-->HTMLコーダーとしては、そりゃ、あった方が良い。

画面出力
空行が入らない例
出力HTML
<h3>そもそもマークアップは必要なのか</h3>
<p><span id="more-63"></span>HTMLコーダーとしては、そりゃ、あった方が良い。

思い出した

なんで最初の頃、この空白に妥協したのかを。
「続きを読む」を押して飛ぶと、ビッタリ未読の続きに飛びます。つまり、見た記憶にない文字列が飛び先。しかも、上部に空間がなく正にビッタリ。折角、位置がビッタリ合っているのに、それに気付かず「あれどこだっけ?」とスクロールし、見た事のある行を探してしまいます。

ならば、2,3行戻った所に飛んでくれるのが良いのですが…一筋縄ではいかず、これも課題に。
そもそも、たたまなくても良いじゃんとも思います。たたまずに見やすい見せ方であれば。そうでない場合の格好良いたたみ方を実装したい。

Comments (0)

TrackBack URL :

yahoo!pipesの出力で化け

サイドバーの「近頃気になった本」は「はてブ」のフィードをyahoo!pipesで加工したものを元に表示しています。
今日起きたら派手に「文字化け」。どうやらyahoo!pipesの出力段階で化けている模様。
ググってみると、結構よくあることのようです。

いつの間にか直っていた

試行錯誤の中、何も変えていない状態で文字化けが直っている・゚・(ノД`)・゚・yahoo!pipesの気まぐれといった印象。
再発に備えて手を打っておくことに。

もう一つサービスを挟んでみる

フィードバーナーを挟んでみる事にしました。

  1. はてブ→yahoo!pipes→FeedBurner
  2. はてブ→FeedBurner→yahoo!pipes

FeedBurnerにyahoo!pipes出力の文字化けを直す力があれば、前者。
FeedBurner出力にyahoo!pipesが文字化けする原因を取り除く力があれば、後者。
とりあえず、両方用意し、前者をブログに掲載。
また文字化けが起こる事を楽しみに(ノ∀`) 仕込み終了

マッシュアップって実は微妙?

個人レベルでは、楽しいし便利なマッシュアップですが、これ、混ぜれば混ぜるほど、ダウンタイムが増えますよね。
年に5日落ちるサービスを3つ繋げれば、年に14日?(超概算)程度落ちてしまう訳で、仕事用で使うのは場合によっては怖いところです。
SaaS (software as a service)の肝はマッシュアップには無いのかもしれませんね。

Comments (0)

TrackBack URL :

一覧機能が弱い

前々から、なんかブログって使い辛いと感じていました。

  • 人によってインターフェイスが違うからかな
  • 広告が多くて、記事の場所が分かりにくいからかな

と薄々思っていましたが、決定的なのは、

  • 単体記事から、前後数件のリストに飛べない

これですね。わかります。
最新記事からつらつら読む分には、ページャーもあり便利なのですが、例えば、検索エンジンから単体記事に飛んだ場合。
「関連記事」や「前後1件」のリンクこそあれど、いや、俺が飛びたいのは、ずらーっと時系列でならんだアレなんだよー!!と。
最新記事から順にさがせっていうのかよぉーーあsdふぁldkfj です。
あのブログのあの記事!前見たアレがみたいのに~!なんとなく前後関係で覚えているのに「カレンダー」や「アーカイブ」なんてまどろっこしい。

ソリューションが見つからない((((゜д゜;))))

「前後1件」だけだよって\(^o^)/
まだ深く考えていませんが、これって、ページャー(このサイトの場合「wp-pagenavi」)に機能追加するのが楽なんですかね?
さらっとソースをみた感じでは、少なくとも今の私には手に負えない。しかし、検索なんかよりよっぽど負荷も軽いと思うのですが…課題です。

next_post_linkの同カテゴリリンクにしても、子カテゴリを反映しないし(・ω・)

Comments (1)

TrackBack URL :

フラッシュ版と同時に用意する代替ページ、いわゆる「HTML版はこちら」がありますが、何気に微妙な存在ですよねあれ。

結論

全flash等によるリッチコンテンツの代替ページは、極めてシンプルなものの方がバランスが良い。
多様なレアケースに備えた、jsもcssファイルさえもない、極力シンプルなページ。プレスリリースのFAXのような。
いっそフィードでも。

そもそもマークアップは必要なのか

(続きを読む…)

Comments (0)

TrackBack URL :

HTMLファイル————-
<div class=”xxx yyy”>xxx yyy</div>
cssファイル————-
.xxx.yyy { 中身 }

こういうクラス指定をした場合、IE6だと 
[.ここ].yyy { 中身 }
が無視される(;・ ω ・ )盲点じゃ~

 仕事上の事だけど、カテゴリは「blog製作記録」のが良いかな。

Comments (0)

TrackBack URL :

はてなブックマークからのリストは
はてブ アマゾン抽出→yahoo! pipesで整形→wordpressで解決。今度は、本文中からのリンクを便利にしたくなってまいりました。

今日のところはWP-Amazon-Reloadedに決定

  • シンプルな出力を得られる
  • そこそこ安定している
  • ASINを調べる手間が不要

しかし、これ、 amazon.comです(ノ∀`)
$request="http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService";
良く分かりませんが、上記を以下のように書き換えたらamazon.jpで動いてくれている気がします(・ω・)
$request="http://ecs.amazonaws.jp/onca/xml?Service=AWSECommerceService";

ええ、いろいろ試してみたよ

(続きを読む…)

Comments (1)

TrackBack URL :

大規模サイトだと絶対表記も使いたくなる

サイトの規模が大きくなればなるほど、共通パーツの指定に絶対パス表記を用いる事で事故が減ります。さまざまな階層で使われる「共通テンプレ」に於いて階層を意識しなくて良い絶対指定は非常に有効です。
また、細かい所では、javascript内のパス表記。jsファイルは自身の位置ではなく呼び出したファイルの位置が基準となるので、共通js内での表記は絶対指定したい場合も少なくありません。

チェックが面倒

でもねぇ、地味に面倒くさいんですよね。絶対パスって。
まず、サーバを通さないと表示をまともに確認できません。また、ローカル作業用のローカルサーバと、納品チェック用のサーバの2つは必要です。
面倒くさいとは言え、ここまでは実はどうでも良い事かもしれません。納品チェックの手間はほとんど変わりませんし。

右クリック ソースを表示の罠

(続きを読む…)

Comments (0)

TrackBack URL :