MB-Support

パソコン初心者のサポートページ

トラブル体験記:WEBコンポーネント 挿入ページ - Expression Web 4

 FrontPage 2003 から Expression Web 4 に移行を試みていますが、WEBコンポーネントのページ挿入機能で、<!--webbot bot="Include" U-Include="ページのアドレス"TAG="BODY" -->が意図した動作をせず困っています。


FrontPage 2003 から Expression Web 4 への移行で、四苦八苦しています。FrontPage 2003 を使い続けた理由は、「Webコンポーネントの挿入」→「挿入コンテンツ」→「挿入ページ」の互換性です。この機能は、HTMLで作成したページの 〜 の部分を、他の HTML に埋め込めます。これを利用するメリットは、複数のページで同じソースを使うヘッダーやフッター、メニューなどを分離して管理できるところです。すでに数百ページあるサイトで、ヘッダーのデザインを変更したくなったとしても、元のHTMLを変更するだけで、全てのページに変更を適用できます。



まず、共通のソースを抜き出して、普通のHTMLの <body> 〜 </body> に入力します。右のスクリーンショットは、当サイトの複数のページで使用するヘッダーのソースです。このファイルはtitle_ver3.htmと名付けています。



上で作成したソースを読み込みたいページで、「ページ挿入」アイコンをクリックします。「ページ挿入」アイコンを表示するには、「表示(V)」→「ツールバー(T)」→「標準」をクリックします。FrontPage 2003 にあった、「WEBコンポーネント」のメニューはありません。

挿入するページのアドレスを入力すると、以下のタグが挿入されます。

<!--webbot bot="Include" U-Include="ページのアドレス"TAG="BODY" -->


挿入するページは、同一 WEB サイトに存在している必要があります。FrontPage 2003 や Expression Web 4 では、右のスクリーンショットのように表示されますが、上書き保存するときに title_ver3.htm のHTMLソースが補完されます。



これを確認するのは簡単で、FrontPage 2003 や Expression Web 4 を介さず、保管された HTML ファイルを右クリックして、「プログラムから開く(H)」→「メモ帳」で開きます。



挿入したページのソースが補完されているのが分かります。



FrontPage 2003 や Expression Web 4で開いた場合は、

<!--webbot bot="Include" U-Include="ページのアドレス"TAG="BODY" -->

FrontPage 2003 や Expression Web 4で開いた場合は、

と表示されていましたが、メモ帳で開くと。
<!--webbot bot="Include" U-Include="ページのアドレス" TAG="BODY" startspan -->
<div class="head" id="top">
 <div class="newhead">
  <div class="newhead2" style="float:left;position:static;"></div>
  <div class="newheadtitle" style="width:700px;position:static;margin-left:140px;padding-top:2px;">
   <div class="newhead3" style="width:200px;">
    <h1><a href="http://mbsupport.dip.jp/">MB-Support</a></h1>
    <h2>パソコン初心者のサポートページ</h2>
   </div>
   <div style="float:left;width:500px;">
    <span id="title1" style="position:static;"></span>
    <script type="text/javascript" language="javascript">
     <!-- component('title','title1'); //-->
    </script>
   </div>
  </div>
 </div>
</div>
<div class="vista_linkmenu"> </div>
<!--webbot bot="Include" endspan i-checksum="55453" -->  

となっています。



それでは、編集したファイルを右クリック、「作業中のファイルをサーバーにパブリッシュ(B)」をクリックして、サーバーに発行します。



FrontPage 2003 では、発行した HTML ファイルにブラウザでアクセスすると、挿入したページのソースが補完され、ヘッダーが表示されています。



ところが、今回テストしている Expression Web 4 で発行(パブリッシュ)すると、右のスクリーンショットのようになってしまいます。



Expression Web 4 で問題のページを開き、「F12」キーを押してみました。設定により動作が異なりますが、「localhost」で表示しても、「c:\」で表示しても、いずれも正しく補完されたソースが表示できます。



ホームページを製作しているローカルPCと、発行先の WEB サーバーの違いは何かと考えた結果、元になるHTMLファイルの有無でした。本来、ページ挿入でソースが形成されるのはローカルPCなので、元になるHTMLファイルをパブリッシュする必要はありません。しかし、今は原因が全く分からないので、試しに元になるHTMLファイルをパブリッシュしてみました。



すると、挿入したソースが補完され、問題無くブラウザで表示できました。



次に、「パブリッシュ先サイトを Expression Web で開く」をクリックします。



これにより、WEBサーバーで配信されるHTMLファイルを、Expression Web 4 で直接開いた状態になりました。Expression Web 4 でパブリッシュしたHTMLファイルは、ページ挿入のソースが展開されておらず、<!--webbot bot 〜だけが表示されています。



しかし、FrontPage 2003 で発行したファイルを直接開くと、ページ挿入したソースが補完され、完全なソースになっているのが分かります。



WEB サーバーにログオンして、発行したファイルを右クリックして、「プログラムから開く(H)」→「メモ帳」をクリックしました。



発行されたファイルをメモ帳で直接開くと、ローカルPC と同じく、ページ挿入したソースが補完されていました。つまり、ファイル自体に問題はなく、Expression Web ではソースが表示できない仕様なのかも知れません。



次に、元の HTML ファイルを WEB サーバーから削除してみました。



そして、WEB サーバーにログオンして、発行したファイルを右クリックしてメモ帳で開いた結果、先ほどとは異なり、ページ挿入したソースが除去されてしましました。



ブラウザでアクセスしても、ヘッダーは表示されず、ページ挿入で指定したアドレスが表示されます。これらの状況から判断できることは、ページ挿入元の HTML ファイルを WEB サーバーに転送する必要があるということです。本当は、必要無いはずなのです。なぜならば、ローカルPC上でソースが補完され、それをパブリッシュしているからです。この問題が分からなくて困っています。

「ページ挿入」に関して - Expression Web & FrontPage Users Forum



翌日 FrontPage 2003 だけ正常に戻りました

そもそも、Expression Web 4 に移行したことで、ページ挿入により以下のソースが記述されるようになりました。

<!--webbot bot="Include" U-Include="ページのアドレス" TAG="BODY" startspan -->
<div class="head" id="top">
 <div class="newhead">
  <div class="newhead2" style="float:left;position:static;"></div>
  <div class="newheadtitle" style="width:700px;position:static;margin-left:140px;padding-top:2px;">
   <div class="newhead3" style="width:200px;">
    <h1><a href="http://mbsupport.dip.jp/">MB-Support</a></h1>
    <h2>パソコン初心者のサポートページ</h2>
   </div>
   <div style="float:left;width:500px;">
    <span id="title1" style="position:static;"></span>
    <script type="text/javascript" language="javascript">
     <!-- component('title','title1'); //-->
    </script>
   </div>
  </div>
 </div>
</div>
<div class="vista_linkmenu"> </div>
<!--webbot bot="Include" endspan i-checksum="55453" -->  

FrontPage 2003 の正常な状態では、以下のようになります。

<div class="head" id="top">
 <div class="newhead">
  <div class="newhead2" style="float:left;position:static;"></div>
  <div class="newheadtitle" style="width:700px;position:static;margin-left:140px;padding-top:2px;">
   <div class="newhead3" style="width:200px;">
    <h1><a href="http://mbsupport.dip.jp/">MB-Support</a></h1>
    <h2>パソコン初心者のサポートページ</h2>
   </div>
   <div style="float:left;width:500px;">
    <span id="title1" style="position:static;"></span>
    <script type="text/javascript" language="javascript">
     <!-- component('title','title1'); //-->
    </script>
   </div>
  </div>
 </div>
</div>
<div class="vista_linkmenu"> </div>
 

つまり、<!--webbot bot="Include" 〜自体が削除され、肝心のページ挿入したソースだけが補完されています。Expression Web 4 でページ挿入を利用されている方のソースを確認したところ、<!--webbot bot="Include" 〜 が記述されていました。もちろん、これが記述されていたとしても、元のHTMLファイルをWEBサーバーに発行(パブリッシュ)しなくても、ソースの補完ができているとあるので、機能的に問題はありません。ただ、私の環境では、元のHTMLファイルをWEBサーバーに発行(パブリッシュ)しないとエラーになります。

このトラブルが発生するのは、Expression Web 4 でファイルをパブリッシュしたときだけで、FrontPage 2003 で発行(パブリッシュ)することで修復可能でした。隠しメタデータファイルと、フォルダー オプションで「隠しファイル、隠しフォルダー、または隠しドライブを表示しない」と「保護されたオペレーティング システム ファイルを表示しない(推奨)」にチェックを入れ、エクスプローラーで「_vti_cnf」を検索して、表示された「_vti_cnf」フォルダーを全部削除しました。これにより、パブリッシュから除外する設定などがクリアされ、FrontPage 2003 と Expression Web 4 でサイトを再登録しました。



すると、Expression Web 4 で問題が回復するどころか、FrontPage 2003 で発行(パブリッシュ)しても、問題が発生するようになりました。Expression Web 4 を諦め、FrontPage 2003 だけでも改善されれば良いと願い、「発行済みHTMLの最適化...」をクリックして、「HTMLの最適化」タブを開き、「発行時に以下の要素を削除してHTMLを最適化する(O)」「すべてのHTMLコメント(M)」「作成時の Web コンポーネントのコメント(U)」「ダイナミック Web テンプレートのコメント」「FrontPage トレース用イメージおよびインタラクティブ ボタンの属性」「Generator および ProgID タブ(G)」にチェックを入れ、「OK」ボタンをクリックしました。



変更後、HTML ファイルを発行(パブリッシュ)した結果が右のスクリーンショットです。<!--webbot bot="Include" 〜 などのタグが削除されており、ページ挿入で指定した HTML ファイルのソースが補完されていました。これにより、WEB サーバーから元になる HTML ファイルを削除しても、問題なく表示可能になりました。



左下はローカルPC 上の HTML ファイルをメモ帳で開いたスクリーンショットです。右下は、ローカルPC にて FrontPage 2003 で HTML ファイルを開いた状態です。発行された HTML ファイルと異なり、<!--webbot bot="Include" 〜 が記述されています。



これで、FrontPage 2003 での動作は、正常な状態に戻り一安心です。Expression Web 4 にも同じような設定画面はありますが、これを実行してもトラブルは改善しませんでした。現時点では現状維持で FrontPage 2003 を使い続けますが、Expression Web 4 でもトラブルを改善することは可能だと思うので、暇を見つけてチャレンジしたいと思います。





BTOパソコン・ゲームPC・自作パソコンなら【TSUKUMO】 - 自作PCに必要なパーツ、豊富な品揃え

Copyright © 2013 MB-Support パソコン初心者のサポートページ All Rights Reserved.

管理人サイト閲覧方法プライバシーポリシー著作権/免責事項