Home > Archives > 2010-03

2010-03

【JavaScript】IE6のwindow.parent

—————-【追記(2010/03/26 19:07)】—————- 下記の方法でやっていたところ、再度エラーが出る(例によって表示はされないけど)ので、 結局 window.parent.fn() で取りました。

エラーがでたりでなかったりなんなんだよもう。。

昨日のiframeの続きで、 iframe の中の子ページから親の関数を呼び出したかったので、 とりあえず window.parent.fn() で取ってみました。

すると、IE6で動かない。 きっとスコープ的な何かがおかしいんだろうなぁと思い、 window.parent.document.fn() とか色々試しつつ調べつつ。 そうこうしているうちにこんな記事を発見。

parent – hoshikuzu | star_dust の書斎

これによると、IEの場合 document.parentWindow なるものが存在するらしい。 へーなんかきもい。

それでもとりあえず6以外ではちゃんと動いてたので、6だけに適用。なんか怖いし。 document.parentWindow.fn() で無事取得できました。

こんな感じ

if(undefined !== window.ActiveXObject && $.browser.version.indexOf('6.') != -1){
  document.parentWindow.fn();
}else{
  window.parent.fn();
}

【CSS】iframeとDD_belatedPNG

多分この件となんかしらの関係があるはず、というか根本は同じな気がする。

iframeで読み込むhtml内でDD_belatedPNG.jsを使うと iframeの中身がどっかに宇宙にいってしまうバグがある。 報告数も少なくgoogle先生もあんまり知らなそうだった。(ツイートで愚痴があったくらい) 解決方法としては iframeで読み込むhtml内でDD_belatedPNG.jsを使用する場合はiframeをposition:relative;にする必要がある。 PNGをSVGにして再配置する際に、基準となる要素を明示してあげる必要がある。(らしい) IE6乙!

iframeとDD_latedPNG|</gecko>:げことじ。2010-03-18 (木) 17:33

転載乙!

【Lifehack】Zen-Coding やってみた

</p>

<h1>wrapper (#header h1 a[href=/] img[src=./images/h1.jpg])+(#container (ul#topicPath (li<em>2 a)+(li strong))+(#article0$.article (h2 img[src=./images/h2_0$.jpg])+p)</em>4)+(#footer p+(ul li*4))</h1>

<p>

ZEN! (Ctrl+Dが使い易いと思うんだな)

<div id="wrapper">
  <div id="header">
    <h1><a href="/"><img src="./images/h1.jpg" alt="" /></a></h1>
  </div>
  <div id="container">
    <ul id="topicPath">
      <li><a href=""></a></li>
      <li><a href=""></a></li>
      <li><strong></strong></li>
    </ul>
    <div id="article01" class="article">
      <h2><img src="./images/h2_01.jpg" alt="" /></h2>
      <p></p>
    </div>
    <div id="article02" class="article">
      <h2><img src="./images/h2_02.jpg" alt="" /></h2>
      <p></p>
    </div>
    <div id="article03" class="article">
      <h2><img src="./images/h2_03.jpg" alt="" /></h2>
      <p></p>
    </div>
    <div id="article04" class="article">
      <h2><img src="./images/h2_04.jpg" alt="" /></h2>
      <p></p>
    </div>
  </div>
  <div id="footer">
    <p></p>
    <ul>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
  </div>
</div>

うひょーい!

【JavaScript】JSでUNIXタイムを取る方法

ちょっとUNIXタイムを取る必要があったので調べてみました。

JavaScriptでUNIX Timeを求める|DIGI BLOG

function time_t()
{
    return new Date/1000|0;
}

new Date() はUNIXタイムとミリ秒らしいので、小数点以下を切り捨てることでUNIXタイムを得る、とのこと。

|0 ってなんぞや…。

多分ビット演算とかそんな感じのことな気がする。 ということで調べてみた。

JavaScriptのビット演算の仕組みを理解するCommentsAdd Star|風と宇宙とプログラム

ビット演算とか正直よくわからないんですけど、とりあえず小数点以下を切り捨てられる模様。 Math.floor() と似た挙動をするみたいですね。

で、なんやかんや探してたら別の方法もみつけた。

Math.floor を使わずに小数を整数にする|IT戦記

これは前にどっかでみて、「ほほうなるほど」って思った覚えが。

とりあえず すごいやビット演算

というわけで、 JSでUNIXタイムを取る方法は

function time_t()
{
    return Math.floor((new Date)/1000);
}
or
function time_t()
{
    return new Date/1000|0;
}
or
function time_t()
{
    return ~~(new Date/1000);
}

みたいな方法で、new Date() を整数に変換すればよいと、いうわけらしいです。

結論は単純なのに妙に長くなってしまいました。

Home > Archives > 2010-03

Search
Feeds
Meta

Return to page top