質問箱/4230

カテゴリ
サマリIE7の「互換モード」に切り替えるため、!DOCTYPE 宣言をはずしたいのですが可能でしょうか?
バージョン1.4.7
投稿者TOBY?
状態完了
投稿日2008-01-24 (木) 16:13:10

質問

IE7でのみうまく表示できないスキンがあり、 IE7の「互換モード」に切り替えるため、
!DOCTYPE 宣言をはずしたいのですが可能でしょうか?

該当スキンは、自作スキン/ by YEAR OF THE CATの#11です。
IE7でレイアウトが崩れてしまい操作に都合が悪いため、手直しをしております。
IE6 と Firefox2.0 では大丈夫です。

簡単にデバッグしてみたところ、DOCTYPE宣言をはずすと上手く表示できたので、
その方法で、とりあえず スキンの css がIE7に対応できるまで
(スキンの作者様が直されるか、私が直すかわかりませんが)
急場をしのぎたいと考えました。

ソースを見たところ、DOCTYPE宣言の出力は html.php に記述されており、
DOCTYPE出力を、コメントアウトするだけなのですが、
スキンのためにできるだけソースをいじりたくないなー、という話です。
(複数のwikiを同じソースで動かしているため)


■環境
ブラウザ:IE6、IE7(Internet Explorer 7)、Firefox2.0
OS:Windows XP SP2
pukiwiki:1.4.7

回答

  • html.php の pkwk_output_dtd ですが、
    echoでそのまま出してしまっているので、
    弄れないので、
    スキンの方にハードコードしてみました( ´д`)
    一応上手くいっているようです。
    w11/skin/pukiwiki.skin.php にあてて下さい。
    --- pukiwiki.skin.php	2006-05-06 02:08:00.000000000 +0900
    +++ ie7_pukiwiki.skin.php	2008-01-24 16:39:31.125000000 +0900
    @@ -58,16 +58,19 @@
     header('Pragma: no-cache');
     header('Content-Type: text/html; charset=' . CONTENT_CHARSET);
     
    +/*
     // HTML DTD, <html>, and receive content-type
     if (isset($pkwk_dtd)) {
     	$meta_content_type = pkwk_output_dtd($pkwk_dtd);
     } else {
     	$meta_content_type = pkwk_output_dtd();
     }
    -
    +*/
     ?>
    +<?php echo '<?xml version="1.0" encoding="'. CONTENT_CHARSET .  '" ?>' ?>
    +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo LANG?>">
     <head>
    - <?php echo $meta_content_type ?>
    + <meta http-equiv="content-type" content="application/xhtml+xml; charset=<?php echo CONTENT_CHARSET  ?>" />
      <meta http-equiv="content-style-type" content="text/css" />
     <?php if ($nofollow || ! $is_read)  { ?> <meta name="robots" content="NOINDEX,NOFOLLOW" /><?php } ?>
     <?php if (PKWK_ALLOW_JAVASCRIPT && isset($javascript)) { ?> <meta http-equiv="Content-Script-Type"  content="text/javascript" /><?php } ?>

    -- TOBY? 2008-01-24 (木) 16:41:36

  • 互換モードとかはとりあえずおいておいて、確かに DOCTYPE の表示とかはスキンで管理したいですよね。pkwk_output_dtd が echo ではなく return してくれるといいのですが。まぁいまさら変えられないのでしょうね -- 2008-01-24 (木) 21:21:06
  • そうなんですよ。HTML、XHTMLにするかなどはスキン側に依存する問題かな?と思います。質問の題名は、DOCTYPE をなんとか、という話なんですが、問題自体に関しては解決できたので、解決扱いにしておきます。ありがとうございました。 -- TOBY? 2008-01-29 (火) 07:52:09


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-06-02 (火) 22:29:17
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2018 PukiWiki Development Team. Powered by PHP 5.6.39-0+deb8u1. HTML convert time: 0.235 sec.

OSDN