メインウィンドウとiframeは同じドメインにありますが、達成したいのは、そのiframe内でのみjsを使用して内容に合わせてiframeのサイズを変更することです。メインウィンドウの助けを借りずにiframeのサイズを変更することは可能でしょうか?
メインウィンドウで割り当てられているiframeのIDもわかりません。私はjqueryや他のフレームワークを使用したくありません。
メインウィンドウとiframeは同じドメインにありますが、達成したいのは、そのiframe内でのみjsを使用して内容に合わせてiframeのサイズを変更することです。メインウィンドウの助けを借りずにiframeのサイズを変更することは可能でしょうか?
メインウィンドウで割り当てられているiframeのIDもわかりません。私はjqueryや他のフレームワークを使用したくありません。
:
window.frameElement.style.width = iframeContentWidth + 'px';
window.frameElement.style.height = iframeContentHeight + 'px';
はMDNでframeElement
を参照してください。
EDIT
iframe
は、あなたがこのような何かを行うことができますサイズを固定し、overflow: hidden
たコンテナ要素であることを起こる念のために:
function resizeIframe (iframeContentWidth, iframeContentHeight) {
var container = window.frameElement.parentElement;
if (container != parent.document.body) {
container.style.width = iframeContentWidth + 'px';
container.style.height = iframeContentHeight + 'px';
}
window.frameElement.style.width = iframeContentWidth + 'px';
window.frameElement.style.height = iframeContentHeight + 'px';
return;
}
あなたのような同じ出身のコンテンツの場合は、yes you canです。上記の質問にゲイリーの回答から借りる
:iframe内
、window.parentは親 文書のグローバルオブジェクトではなく、ドキュメントオブジェクト自体を指します。私はparent.documentを使用してはiframeにアクセスしてみてください、これはあなたの問題を解決するかどうかを確認
をparent.document.getElementByIdあなたは 使用する必要があると考えています。あなたが親ウィンドウにiframe
のid
を知らなくても、これを行うことができます
メインウィンドウはIFRAMEのドキュメントのJavascriptから次のようにすることができます:
function getMySelf()
{
return (window.parent.document.getElementsByTagName("iframe"))[0];
}
var myself = getMySelf();
myself.style.width = whateverWidth;
myself.style.height = whateverHeight;