0

リンク ボタンが間違ったマークアップを生成するという問題が発生しています。

次のようなものが生成されるはずです。

<div style="margin-top: 5px; width: 150px; margin-left: auto; margin-right: auto;">
    <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel"
    class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')">
        <div>
            <span class="border top">
                <span class="border">
                </span>
            </span>
            <span class="icon cancel">
                Cancel
            </span>
            <span class="border bottom">
                <span class="border">
                </span>
            </span>
        </div>
    </a>
</div>

タグが 1 つだけあることに注意してください。

それは時々これを生成することになります:

<div style="margin-top: 5px; width: 150px; margin-left: auto; margin-right: auto;">
    <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel"
    class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')">
    </a>
    <div>
        <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel"
        class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')">
            <span class="border top">
                <span class="border">
                </span>
            </span>
            <span class="icon cancel">
                Cancel
            </span>
            <span class="border bottom">
                <span class="border">
                </span>
            </span>
        </a>
    </div>
    <a onclick="return JSConfirm('Confirm?');" id="ctl00_cntPrincipal_btnCancel"
    class="round-corner opt-upload cancel" href="javascript:__doPostBack('ctl00$cntPrincipal$btnCancel','')">
    </a>
</div>

ここで 3 つ (!) のアンカー タグに注目してください。

特定のサーバーから特定のブラウザーでのみ発生します。サーバーは IIS 6 で ASP.NET 2.0 を実行しており、Firefox 3.5 を使用してページにアクセスしています。

更新: FF ビュー ソースを使用してコードを表示します。プラグインはインストールされていません。ドキュメントは XHTML 1.1 Transitional であると思われますが、アンカー タグ内に div タグを使用できないため、有効ではないと思います。

4

1 に答える 1

0

そのマークアップをどのように見ていますか?Firebugで?TidyHTMLがインストールされているFFソースビューアでは?

どの(X)HTML宣言が使用されていますか?HTML 4.1?XHTMLトランジショナル?厳しい?

私が尋ねる理由は、タグがインライン<a>要素として定義されているため、タグなどのブロック要素にタグをラップすることは違法であるためです。<div>

FFに表示されているソースは、divタグの内部と末尾にアンカータグを追加することで、これを処理するように修正されている可能性があります。

そのマークアップをどのように見ていますか?Firebugで?TidyHTMLがインストールされているFFソースビューアでは?

どの(X)HTML宣言が使用されていますか?HTML 4.1?XHTMLトランジショナル?厳しい?

私が尋ねる理由は、タグがインライン<a>要素として定義されているため、タグなどのブロック要素にタグをラップすることは違法であるためです。<div>

FFに表示されているソースは、divタグの内部と末尾にアンカータグを追加することで、これを処理するように修正されている可能性があります。


いいえ、ソースの表示はFFが修正したとおりです。これを確認したい場合は、ViewSourceWithプラグインをインストールして、選択したNotePadでソースを表示できます。これら2つの違いに気づきました。

ASP.NET 1.1とは異なり、ASP.NET 2.0のBrowserCapsはFF、Safariなどを認識します。したがって、一般的な出力は、IEで表示されるものとそれほど変わらないはずです。

于 2009-12-09T20:28:23.477 に答える