2011-11-17 25 views
0

私はこの複雑な問題を抱えています。FirefoxのみがHTMLコードを表示し、ページは表示されません

Webページを提供するPython HTTPServerを実行しています。これらのウェブページは、美味しいスープの助けを借りて実行時に作成されます。問題はFirefoxが実際のページではなくWebページのHTMLコードを表示することです私は本当にこの問題を引き起こしている人を知っているかわからない - を - PythonのHTTPServerの - 美しいスープ - HTMLコード

いずれにせよ、私はWebページのHTMLの部分をコピーした: -

<?xml version="1.0" encoding="iso-8859-1"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 
    <title> 
    My title 
    </title> 
    <link href="style.css" rel="stylesheet" type="text/css" /> 
    <script src="./123_ui.js"> 
    </script> 
</head> 
<body> 
    <div> 
    Hellos 
    </div> 
</body> 
</html> 

だけ - Python HTTPServerがMIMEヘッダーをtext/htmlとして送信していることを確認しました。 - HTMLコードをコピーして貼り付けるだけで、静的な正しいページが表示されます。ここで問題はHTTPServer側にあると言うことができます - Firebugは空で、「この要素にはスタイルルールがありません。ルールを作成できます」と表示されます。表示されます

エラーがBeautiful SoupまたはHTTPServerまたはHTMLにあるかどうかを知りたいだけですか?

おかげで、 アミット

答えて

2

は、なぜあなたは、ドキュメントの先頭にこれを追加していますか?ブラウザは、文書全体がXMLないXHTMLだと思うようになります

<?xml version="1.0" encoding="iso-8859-1"?> 

。その行を削除すると、正しく表示されるはずです。私は、HTTPヘッダーがtext/htmlだと言っても、XML文書の通常のようなコンテンツを表示するために、Firefoxが展開したり折りたたんだりすることができる要素がたくさんあるページをFirefoxが表示していると仮定します。

+0

あなたが言う必要はありません。さて、私はそれを削除し、それはまだ同じです。私はxmlタグの有無にかかわらず同じ問題を抱えています。 – abarik

+0

あなたはこのオンラインをどこかで見ることができますか? – animuson

+0

だから、 私はついにこの問題を解決しました。理由は、コンテンツタイプ "text/html"でMIMEヘッダー(私が思っていたとしても)を送っていなかったからです。 ファイルに何かを書く前に、あなたはいつもこれを行います: - \t self.send_response (301) \t self.send_header( "場所"、self.path + "/") \t self.end_headers() \t#あなたは上記の方法と呼ばれていたら、あなたはクライアントに \t自己のHTMLを送信することができます.wfile.write( 'あなたが書きたいHTMLコード') – abarik

0

だから、みんな 私はついにこの問題を解決しました。私はHTTPServerのPythonでコンテンツタイプ「text/htmlの」で(私が思ったにも関わらず)

をMIMEヘッダを送信していなかったので、理由があったファイルに何かを書き込む前に、あなたは常にこの操作を行います。 -

self.send_response(301) 
self.send_header("Location", self.path + "/") 
self.end_headers() 
# Once you have called the above methods, you can send the HTML to Client               
self.wfile.write('ANY HTML CODE YOU WANT TO WRITE') 
関連する問題