今日
色々あって4:00起床.プログラミングの続き.
8:30学校着.すぐプログラミングの続き.一つ目の問題解決.まさかこんなんだとは.
午後一で嫌な話を聞く.何でそうなってる.
12:00〜13:00 時差ボケと睡眠不足による仮眠.
13:00〜15:00 研究室ミーティング.
強烈な目眩で横になったが目が覚めたら3時間経ってしまっていて,20:00学校発.
GoogleMaps APIのInfoWindowの中にiframeを作ってやって,その中に書き込む方法.
どうやっても出来ないできないとずっと悩んでいたが……解決法はsetTimeoutで時間を空けてやるというマジで最悪な方法であった.
var iframe = document.createElement('IFRAME');
iframe.setAttribute("frameBorder", "1");
iframe.setAttribute("scrolling", "yes");
iframe.setAttribute("name", "iframe1");
iframe.style.width = "200px";
iframe.style.height = "200px";
iframe.src = "about:blank";
infoWindow.setContent(iframe); //Google Maps APIのinfoWindowのインスタンスにセット
infoWindow.open(map, marker);
var timerID = setTimeout(function(){
var iframedoc = iframe.contentDocument;
iframedoc.writeln("");
iframedoc.body.innerHTML = 'コンテンツの中身';
}, 100);
つまり一度openしてからsetTimeoutしないとcontentDocumentにはアクセス不可ということ.
そういやListenerもそうやってた……なんでこんなクソ仕様なんだ.
だからここに配置したボタンにListenerを登録するときは,更にsetTimeoutでListenerを登録する関数をネストしなきゃいけない……ってことだよな.
なんてこった.