ホームページ >ウェブフロントエンド >jsチュートリアル >javascript Firefox が iframe を自動的に読み込み、高さと幅を自動的に調整する例
iframe は onload の高さと幅を自動的に取得します
function AutoResize(iframe) { //firefox if(iframe.contentWindow) { iframe.height = iframe.contentWindow.document.documentElement.scrollHeight; iframe.width = iframe.contentWindow.document.documentElement.scrollWidth; } //IE else if(iframe.contentDocument) { iframe.height = iframe.contentDocument.width; iframe.width = iframe.contentDocument.height; } }
iframe は自動的にロードされます:
var tdObj = document.getElementById('ifrtd'); tdObj.innerHTML = ' QQ动态加载中 ... '; var iframe = document.createElement("iframe"); iframe.src = 'http://www.zbphp.com/'; if (iframe.attachEvent){ //iframe.attachEvent("onload",AutoResize.call(iframe)); #报错 iframe.attachEvent("onload", function(){ AutoResize(iframe); }); } else { //iframe.onload = AutoResize.call(iframe);#报错不支持 iframe.onload = function(){ AutoResize(iframe); }; } tdObj.innerHTML = ''; tdObj.appendChild(iframe);
実際、ここでの iframe.onload は iframe.onload = AutoResize.call(iframe); として書きたいのですが、残念ながらエラーが報告されます。はサポートされていません。
私は JavaScript で関数呼び出しを行う方法を知りませんでした。たとえば、 iframe.onload = function(){} が関数を呼び出し、パラメータがある場合、他のプログラムのようにパラメータを直接渡すのではなく、このように記述するしかありません。
apply() call() を見たことがありますが、試してみてもサポートされていません。なぜ?
その他の JavaScript、Firefox 自動読み込み、iframe 自動調整、高さと幅の例関連記事については、PHP 中国語 Web サイトに注目してください。