0

動的に作成されたデータとリンクのテーブルがあります。ウェブサイトは、私がよく知らないcoldfusionで構築されました. ページにデータを入力するコード行は次のとおりです (少なくともこれについては確信しています)。

<cfoutput>
       <td>
     <![CDATA[
    <a href="##" onclick="javascript:viewRecord('#priKeyId#');setTimeout('gridMenu.cancelmenu();',50);" title="View"> #rowdat#
        </a>
           ]]>
      </td>
   </cfoutput>

トリックは CDATA タグにあるようです。これを使用せずにコードを xmlformat(#rowdat#) に戻すと、代わりに; firefox はそれを気に入っており、テーブル内のすべてのデータ/リンクを問題なく表示しています!..しかし、問題は残りのブラウザに移ります! (chrome、IE、safari はすべて cdata が好きです!) Firefox でテーブル データを正しく表示する方法はありますか?

ありがとう

Update1: これは、おそらく私よりも問題を説明できる写真があるリンクです!

Update2: href="##" から生成されたリンクに問題があるようです。そこで、コードと HTMLEditFormat() の前に実際のリンクを次のように設定しようとしました。

 <cfset mylink ="https://my.site.com/index.cfm?event=public.my.site.view&site_id=" & priKeyId 
 <cfset mylink = HTMLEditFormat(mylink)>
 <cfif colName eq link>

 <cfoutput>
  <td id="cdata">
  <a onclick="viewRecord('#priKeyId#');setTimeout('gridMenu.cancelmenu();', 50);return false;" href="#mylink#"  title="View">#rowdat#</a>
  </td>
   </cfoutput>

しかし、それもうまくいきませんでした。

4

3 に答える 3

2

これを閉じるのではなく、Firefox が「disable-output-escaping」をサポートしていないと述べているこの回答を紹介させてください。

ColdFusion 10 を使用している場合は、

<a href="##" onclick="javascript:viewRecord('#priKeyId#');setTimeout('gridMenu.cancelmenu();',50);" title="View">#encodeForHTML(rowdat)#</a>

それ以外の場合は、xmlFormat() で問題ありません。

于 2013-09-03T22:33:19.893 に答える