0

ajax 呼び出しを使用して、取得したビューとそのデータを含む新しいブラウザー ウィンドウを開こうとしています。

    $.ajax({
            type: 'POST',
            url: redirectToANewWindow,
            dataType: 'html',
            data: { filterValue: searchValue },
            success: function (result) {
              var NewBrowserWindow = window.open('', '_blank', 'height=500,width=900,scrollbars=yes,location=no');
              $(NewBrowserWindow.document.body).html(result);
            }
    });

フィールドとそのデータが、新しく開いたブラウザに表示されます。しかし、返されたビューには CSS がないため、すべてのフィールドが乱雑です。私のメイン CSS は別の場所で宣言されていますが、何らかの理由で、返されたビュー内で宣言できません。私の質問は、このビューを返して CSS ファイルを添付するにはどうすればよいですか?

私はこれを試しました、

success: function (result) {
     var styles = "<link rel='stylesheet' href='../Content/GlobalStyle.css' />";
     var NewBrowserWindow = window.open('', '_blank', 'height=500,width=900,scrollbars=yes,location=no');
     $(NewBrowserWindow .document.head).html(styles);
}

しかし、html に CSS 参照が追加されているのはわかりますが、機能しません。参照したファイルが見つからないだけですか?

ちなみにMVCを使っています。

4

2 に答える 2

2

このコードを試してください:

$('<link/>', {
       rel: 'stylesheet',
       type: 'text/css',
       href: '../Content/GlobalStyle.css'
    }).appendTo('Head');
于 2013-05-09T02:18:38.543 に答える
0

テストされていないコードですが、これを試してください:

var addStylesheetTo = function(url, target) {
    var link = $('<link/>');
    link.attr({
        type: 'text/css',
        rel: 'stylesheet',
        href: url
    });
    $(target).append(link);
};

addStylesheetTo('/the/url/of/your/stylesheet.css', NewBrowserWindow.document.head);
于 2013-05-09T08:42:08.810 に答える