2012-01-18 6 views
2

次のコードスニペットは、HTMLコードで新しいドキュメントオブジェクトを作成します。 次のステートメントを参照すると、添付されたスタイルシートの配列を取得する必要がありますが、ゼロ結果が得られます。createHTMLDocumentメソッドで作成したドキュメントからstyleSheetsを抽出する方法

doc.styleSheets 

しかし、同様のステートメントは、私が間違ってやっているものを見つけるために私を助けて

document.styleSheets. 

のように現在のドキュメントのために正常に動作します。

var doc = document.implementation.createHTMLDocument(title); 
doc.documentElement.innerHTML = ' 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>Title</title> 
    <link rel="stylesheet" href="http://localhost/style.css" type="text/css" /> 
    </head> 
    <body> 
     Hello world! 
    </body> 
</html>'; 

var sheets = doc.styleSheets; // it gives ZERO results 
+0

新しいドキュメントに関連付けられているリソースは、DOMに追加されるまでロードされないことがわかります。これを実現するためにiframeメソッドを使用している以外は、何とかしていますか? –

答えて

0

うーん...あなたは万が一のjQuery(またはいくつかの類似したフレームワークを)

を使用していますか?その場合は、DOMREADYイベントが発生するまで待ってから、スタイルシートの配列を取得してください。

詳細は@postをご覧ください。

関連する問題