2012-01-30 16 views
1

私は動作しているコンテンツのプレビューを表示するために、新しいウィンドウにPOSTするJavaScriptをいくつか持っています。基本的には私がやっていることです:Chromeのプレビューポップアップに埋め込まれたスクリプトが表示されない

$(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

:)(私はリストを圧縮するために別々のIDを移動した)はるかに短い形でそれを試してみて、ほぼすべてのブラウザがポップアップブロッカーを持っています。それを無効にして、やり直してください。 – Cheery

+0

いいえ、ポップアップはうまく表示されます。本体のスクリプトタグがポップアップでレンダリングされないことだけです。他のすべてはうまくレンダリングされます。 –

+1

この場合、ページへのリンクはありますか? Btw、jQueryを使用している場合、なぜ要素作成の長い道のりが必要ですか?これらの属性と要素はすべて、jQueryの助けを借りてより簡単な方法で設定できます。 – Cheery

答えて

1

はクローム

$(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(); 
    }); 
}); 
+0

私はこれをはるかに読みやすくコンパクトなバージョンに感謝しますが、それは同じことをやっています。 –

関連する問題