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 回答