HOW TO DOCUMENT.WRITE LOSES ENCODING (CHROME)

Jeet Verma

Total Post:110

Points:776
Posted by  Jeet Verma
AJAX  JQuery  HTML 
 1066  View(s)
Ratings:
Rate this:

i've been getting a html page using ajax, then open a new window and writting the html data into this new window.

Its working fine on IE 8... however, Chrome is messing the encoding..

My code:

 $('#bo').submit(function( event ) {

 

             $.ajax({

                url : "./home.html",

                cache : false,

                type: 'POST',

                dataType : "html",

            }).done(function(data) {

                 var doc = window.open("", "_blank");

                 doc.document.write(data);

                 doc.document.close();

                });

 

             event.preventDefault();

            return false;

        });

The data string contains this html:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE">

</head>

 

<body>

    <div id="ui-master">

        <div id="ui-header">

         </div>

   </div>

</body>

</html>

Can anyone give me a direction here? Im a bit confused why it works on IE but not on Chrome.. When the dom is ready, im loading some jquery features, like jquery dialogs, jquery growl messages and knockout stuff to fill the page, not sure if its relevant.

The strange fact is that if I change the code do something like replace my window html instead of opening a new popup.. the encoding will work fine =( Thanks

  1. Ankita Pandey

    Post:183

    Points:1285
    Re: How to document.write loses encoding (Chrome)

    Although I wouldn't recommend to use document.write, and I'm not sure this will solve your problem, you can try forcing the content encoding on the $.ajax function like this:

    $.ajax({

                    url : "./home.html",

                    cache : false,

                    contentType: "text/html;charset=UTF-8"

                    type: 'POST',

                    dataType : "html",

                });

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!