このコードは、サードパーティのサイトでマップを埋め込むために生成されています。地図がクリックされると、iframeはブラウザのビューポート全体を満たすようにサイズ変更され、私のサイトのヘッダーメニューはなくなります。それが起こると、私のサイトのヘッダメニューをもう一度見る方法はありません。クリック時のiframeサイズの制御サイズ
地図で消費されているビューポート全体を停止する方法はありますか。私は自分のサイトのヘッダーメニューを見えるようにしたい。
Iコード
oMap.style.height = H + "PX" の次の行に取り組んできました。
...しかし、進捗
<p>My Header Menu</p>
<script type="text/javascript">
var vURL = "http://maps.gsi.go.jp";
var vURL_Site = "/?postmessage=1#5/35.362222/138.731389/&base=std&ls=std&disp=1&vs=c1j0l0u0f0";
var oMap = null;
function Init(){
oMap = document.createElement("iframe");
oMap.style.display = "none";
oMap.src = vURL + vURL_Site;
oMap.onload = function(){
var oContent = oMap.contentWindow;
var ClientMode = {
baseUrl : null
, location : null
, LayerJS : null
, sakuzuList : null
, queryString : null
};
ClientMode.sakuzuList = [{"fileName":"","visible":true,"features":[{"type":"Feature","properties":{"_markerType":"DivIcon","_html":"JAPAN"},"geometry":{"type":"Point","coordinates":[141.8115234375,37.47485808497102]}}]}];
oContent.postMessage(ClientMode, vURL);
EvtResize();
};
document.body.appendChild(oMap);
};
function EvtResize(){
var w = window.innerWidth;
var h = window.innerHeight;
if(oMap != null){
oMap.style.width = w + "px";
oMap.style.height = h + "px";
if(oMap.style.display == "none"){
oMap.style.display = "block";
}
}
};
window.onload = function(){
document.body.style.margin = "0px";
document.body.style.padding = "0px";
document.body.style.overflow = "hidden";
Init();
}
window.onresize = EvtResize;
</script>
JSFiddleで問題をエミュレートしようとしましたが、ヘッダーが消えてしまうのではなく、iframeが切り捨てられました。これは 'document.body.style.overflow =" hidden "'によるもので、body要素のスクロールを防ぎます。 JSFiddle [ここ](https://jsfiddle.net/asemahle/qbntskur/)で問題をエミュレートしようとすることができます。あなたがバグを示す作業コードを提供できるなら、私たちを助けます。 – asemahle