3

ユーザーが div をクリックして Web ページの現在の背景色 (ラップトップでは白) を取得するときに呼び出される JavaScript 関数があります。

<div id="div1" onclick="checkbkcolor(id, 1)">Just testing the web page bk color
</div>

これが checkbkcolor() 関数です:

 <head>
 <script type="text/javascript">

 // DOES NOTHING SO I COMMENTED IT OUT: document.body.style.backgroundColor = "red";

 function checkbkcolor(id, val)
 {
     // THIS RETURNS NOTHING FOR THE COLOR -- the alert box
     // only says "the document.body.style.backgroundColor is:  "
     // and nothing else
   alert("the document.body.style.backgroundColor is:  " 
                + document.body.style.backgroundColor);

   document.body.style.backgroundColor = "red";

     // The alert box now shows 'red' for the color name, *AND* 
     // the web page's background has turned all red
   alert("the document.body.style.backgroundColor is:  " 
                     + document.body.style.backgroundColor);
 }
</script>
</head>

つまり、ページが表示されたときに私の Web ページの背景は白ですが、document.body.style.backgroundColor が設定されていません。

私の Web ページは「透明」に設定されていますか?

私はそうは思わない。テストするために、次の CSS 背景色を追加しました。Web ページが最初に表示されると、背景全体が黄色になります。

  body
  {
     background-color: rgb(255,255,0);
  }

私のWebページが表示されると、もはや白(または透明など)ではありません。Web ページが表示されたときは黄色です。

そしてなお。次のコードは、背景色が設定されていないことを示しています。

 function checkbkcolor(id, region)
 {
     // THIS RETURNS NOTHING FOR THE COLOR
   alert("the document.body.style.backgroundColor is:  " 
                   + document.body.style.backgroundColor);

   // same code other as above
 }

「bgColor」、「background」、「backgroundColor」に関する私の調査 (4 時間分) は役に立たなかったと思います。

何よりも、CSS で 'body' を rgb(255,255,0) に設定すると、Web ページの背景全体がどのように黄色になるのか理解できませんが、次の警告ボックスには backgroundColor が設定されていないと表示されます。

  alert("the document.body.style.backgroundColor is:  " 
              + document.body.style.backgroundColor);

ページが最初に表示されたときの背景色を知る必要があります。どのように?

編集:Firefoxの最新バージョン、バージョン22.0を使用しています

4

4 に答える 4