さまざまなブラウザーで関数の互換性をテストしているときに、IE で知らなかった動作を見つけました。
文字「&」が含まれていると単語が切り捨てられるようです。
JavaScript 関数は、サーバー (c#) から json オブジェクトを取得し、リストを動的に作成します。オブジェクトの説明が「Test & Test」の場合、Chrome と Firefox では説明が期待どおりに表示されますが、IE では「Test」と表示されます。
私が見つけた唯一の解決策は、F12を押して「ドキュメントモード」を「IE9標準」に強制することです。
さまざまなコンテンツ値で使用されるさまざまな doctypes を試しました。javascript ie9.js ファイル (MSIE を標準準拠のブラウザーのように動作させるファイル) を含め、オブジェクトの説明を div、span、p または任意の形式でラップしました。 html で利用できるタグの種類で、これまでのところ結果はありません。
リストを作成する JavaScript 関数は次のとおりです。
$.each(data, function (ind, c) {
if ($container.find('option:contains("' + c.Description + '")').length > 0) {
var name = c.Description;
var $div = $('<div style="margin:0px;padding:0px;width:80%;float:left;" />').html(name).attr({ 'id': c._id });
var $o = $('<li />').html($div).css({ 'margin': 0, 'padding': 0, 'width': '100%', 'font-size': '1em' })
.addClass((ind % 2 == 0 ? 'odd' : 'even'));
if (!(c.IsDefault)) {
var $actionContainer = $('<div />').css({ 'height': 17, 'width': 17, 'float': 'right' });
var $action = $('<button />').html('Delete')
.css({ 'height': 16, 'width': 16 })
.button({
icons: { primary: 'ui-icon-trash' },
text: false
}).click(function () {
if (confirm("Are you sure you wish to delete this object from the list?")) {
var objectId= $(this).parent().parent().children(':first-child').attr('id');
var server = $('#GroupServer').val();
delete($container, server, objectId, $dialog);
}
});
$action.removeClass('ui-corner-all');
$actionContainer.append($action);
$o.append($actionContainer);
}
$ul.append($o);
}
});
そしてjsonオブジェクト:
{ "_id":1,"Description":"Test & Test", "IsDefault":true }
誰もその行動を見たことがありますか?また、IE のドキュメント モードを、私が既に試した以外の方法で IE9 標準に強制することは可能ですか? 敬具、
ローラン