2009-09-01 13 views

答えて

1

おそらく、取得するHTMLには、イメージ、スタイルシート、スクリプトを読み込むための相対URLが含まれている可能性があります。これらのURLは、サイトから提供されたページには正しくありません。これを修正するには、すべての相対URLを絶対URLに変換するか、HTMLの先頭にBASEタグを含めて元のページのURLを指定します。

画像やその他のリソースへの逆リンクは悪い習慣とみなされますが、お勧めします。ソースサイトはあなたがやっていることを好まないかもしれません。

1

元のHTMLページにスタイルシートファイルへの相対的な(元のサイトへの)パスが含まれている可能性があります。そのため、サイト内のHTMLをレンダリングするとCSSが見つかりません。

1

リモートWebサイトにCSS、JavaScript、またはイメージが含まれていますか。

もしそうなら、上記のリソースのいずれかが相対リンクで参照されていますか(/javascript/script.js)?

この場合、ブラウザがサーバーからHTMLを受信すると、相対リンク(もともと送信元サーバーからの相対リンク)はサーバーとの相対的な関係になります。

絶対リンクを使用するようにHTMLを変更することで解決できます(http://www.server.com/javascript/script.js)。これは聞こえるより複雑です:あなたは<を捕らえる必要があります:link href = "..." />、< a href = "..." />、<フォームアクション= "..." /> <スクリプトsrc = "..." />、< img src = "..." />など

より限定的な解決策は、実際のリソースをサーバーと同じ構造でサーバーに配置することです元のサーバーに存在します。

1

リモートサイトはUser-Agentを見て、それに基づいて異なるコンテンツを提供するかもしれません。

また、リモートサイトから取得できるHTMLと、ブラウザでサイトにアクセスして取得したHTMLを比較する必要があります。それらが異なっていない場合は、既に別の答えで示唆されているように、相対パスのためにおそらく画像やCSSやJavaScriptが欠落している可能性があります。

関連する問題