嵌入式脚本未在Chrome中的预览弹出窗口中显示

时间:2012-01-30 16:43:12

标签: javascript html google-chrome github

我有一些JavaScript会POST到一个新窗口,以便向我展示我正在工作的内容的预览。这基本上就是我在做的事情:

$(document).ready(function () {
    $("#previewButton").click(function () {
        $("#previewform").remove();

        var form = document.createElement("form");
        form.setAttribute("id", "previewform");
        form.setAttribute("method", "post");
        form.setAttribute("action", "/Home/Preview");
        form.setAttribute("target", "formresult");

        var bodyField = document.createElement("input");
        bodyField.setAttribute("type", "hidden");
        bodyField.setAttribute("name", "Body");
        bodyField.setAttribute("value", $("#Body").val());
        var nameField = document.createElement("input");
        nameField.setAttribute("type", "hidden");
        nameField.setAttribute("name", "Slug");
        nameField.setAttribute("value", $("#Slug").val());
        var titleField = document.createElement("input");
        titleField.setAttribute("type", "hidden");
        titleField.setAttribute("name", "Title");
        titleField.setAttribute("value", $("#Title").val());
        form.appendChild(bodyField);
        form.appendChild(nameField);
        form.appendChild(titleField);
        document.body.appendChild(form);

        window.open("/Home/Preview", 'formresult', 'scrollbars=yes,menubar=yes,height=600,width=800,resizable=yes,toolbar=yes,status=yes');

        form.submit();
    });
});

这很好用。我注意到一件奇怪的事情是,当我在内容中加入一些嵌入式的要点时,那些不会出现在Chrome中。它们确实出现在IE浏览器中。

这是Chrome错误(或功能),还是我做错了什么?

1 个答案:

答案 0 :(得分:1)

以更短的形式尝试(我已经单独移动id以压缩列表):)

$(document).ready(function () {
    $("#previewButton").click(function () {
        $("#previewform").remove();
        window.open("/Home/Preview", 'formresult',
                     'scrollbars=yes,menubar=yes,height=600,width=800');
        $("<form method='post' action='/Home/Preview' target='formresult'/>")
         .attr('id', 'previewform')
         .append($("<input type='hidden' name='Body'/>").val($("#Body").val()))
         .append($("<input type='hidden' name='Slug'/>").val($("#Slug").val()))
         .append($("<input type='hidden' name='Title'/>").val($("#Title").val()))
         .appendTo('body')
         .submit();
    });
});