www.wanichan.com

Web > Expression > FAQ > オートサムネイル生成後に 'xthumbnail-orig-image' 属性が挿入される問題の対処方法

オートサムネイル生成後に 'xthumbnail-orig-image' 属性が挿入される問題の対処方法

最終更新日:2007/05/31 0:00:00
  • このエントリーをはてなブックマークに追加

概要

スキーマがXHTMLではなくHTMLの場合、オートサムネイル生成後に 'xthumbnail-orig-image'属性が挿入されてしまい、HTMLエラーが発生してしまう問題の対処方法を解説します。

詳細

Expression Webインストール直後の既定のスキーマは、XHTML 1.0 Transitional です。
この状態のままWebページを作成し、オートサムネイル機能を利用した場合、コードビューにはオリジナルサムネイル画像の情報がコメントとして出力されます。
(オートサムネイル機能については「Expression Web 標準ガイドブック」P.73~参照)

<a href="metrotown.jpg">
<img alt="メトロタウン" src="metrotown_small.jpg" width="160" height="120" class="style1" /><!-- MSComment="autothumbnail" xthumbnail-orig-image="metrotown.jpg" --></a>

一方、HTML文書の場合、オートサムネイルを利用すると、以下のように 'xthumbnail-orig-image'属性が挿入され、「互換性のないHTMLが検出されました」というエラーが発生してしまいます。

<a href="metrotown.jpg">
<img alt="メトロタウン" src="metrotown_small.jpg" width="160" height="120" xthumbnail-orig-image="metrotown.jpg" class="style1"></a>

HTML 4.01 Transitional では、<img> タグで属性 'xthunmbnail-orig-image' を使用することができません。

▲Page TOP

対処方法

'xthumbnail-orig-image'属性は余分な記述であるため、この問題を解決するために、Expression Web VBAを使ってWebサイト内のこの属性を一括削除することができます。
(FrontPage MVPのChristoph Schneegansさんがソースを提供していただきました! Thanks!)

モジュールを登録する

Visual Basic Editorを起動します。
[ツール]→[マクロ]→[Visual Basic Editor]をクリックします。
もしくは、Alt+F11をクリックします。

左上の「標準モジュール」を展開し、「モジュール1」をダブルクリックします。

以下ようなモジュール1ウィンドウが開きました。
Microsoft_Expression_Web - モジュール1 (コード)

ここに、以下のソースを貼り付けます。

Sub RemoveXThumbnailAttribute()

    Dim wf As WebFile
    Dim pw As PageWindow
    Dim img As ImgElement

    For Each wf In ActiveWeb.AllFiles
      If wf.Extension = "htm" Or wf.Extension = "html" Then
        Set pw = wf.Edit(PageViewNoWindow)
        For Each img In pw.Document.all.tags("img")
          img.removeAttribute "xthumbnail-orig-image"
        Next
        If pw.IsDirty Then pw.Save
        pw.Close
      End If
    Next

  End Sub

すると、このようになります。貼り付けたら、右上の閉じるボタンを押します。

先ほど貼り付けたモジュールを保存します。保存が終わったら、Microsoft Visual Basicを終了しましょう。
Microsoft_Expression_Web の上書き保存 (Ctrl+S)

▲Page TOP

マクロを実行する

  1. Webサイトを開いた状態で、[ツール]→[マクロ]→[マクロ]をクリックします。
  2. [マクロ]ダイアログボックスが表示されました。
    先ほどのVBAのマクロ名、RemoveXThumbnailAttribute が登録され、選択されていることを確認し、[実行]ボタンをクリックします。
    マクロ
スポンサーリンク
INDEX
  • このエントリーをはてなブックマークに追加

コメント

▲このページのトップへ