th_wolfgang
New member
Hallo,
habe ein iFrame Resize Script, welches hervorragend funktionierte gefunden: https://github.com/davidjbradshaw/iframe-resizer
Leider musste ich feststellen, dass dies nur bei meinem Firefox funktionierte, im IE und z.B. Chrome habe ich hier Probleme dies zum laufen zu bringen, kann mir jemand etwas unter die Arme greifen. Ich habe unter Google z.B. stackoverflow viele Artikel gefunden, wo es anscheint dann funktioniert hatte, ich stelle mich Anscheins wieder mal zu blöd an.
Danke & LG
Wolf
- - - Aktualisiert - - -
NACHTRAG: Nach weiteren 10 stunden habe ich es endlich geschafft, das script funktioniert nun in allen Browsern vom IE bis iOS etc.
Der Fehler waren die mitgegebenen Optionen, nach dem ich fast alle getestet habe bin ich auf eine "einfache" Regel gestoßen.
Wer hier Bastelhilfe benötigt einfach melden... Im Child muss auch noch ein wenig "rein".
Parent:
Child:
LG Wolf
habe ein iFrame Resize Script, welches hervorragend funktionierte gefunden: https://github.com/davidjbradshaw/iframe-resizer
Leider musste ich feststellen, dass dies nur bei meinem Firefox funktionierte, im IE und z.B. Chrome habe ich hier Probleme dies zum laufen zu bringen, kann mir jemand etwas unter die Arme greifen. Ich habe unter Google z.B. stackoverflow viele Artikel gefunden, wo es anscheint dann funktioniert hatte, ich stelle mich Anscheins wieder mal zu blöd an.
Danke & LG
Wolf
- - - Aktualisiert - - -
NACHTRAG: Nach weiteren 10 stunden habe ich es endlich geschafft, das script funktioniert nun in allen Browsern vom IE bis iOS etc.
Der Fehler waren die mitgegebenen Optionen, nach dem ich fast alle getestet habe bin ich auf eine "einfache" Regel gestoßen.
Wer hier Bastelhilfe benötigt einfach melden... Im Child muss auch noch ein wenig "rein".
Parent:
Code:
<script type="text/javascript">
iFrameResize({
log : true, // Enable console logging
resizedCallback : function(messageData){ // Callback fn when message is received
setTimeout(function(){parentIFrame.sendMessage('nested')},50);
}
});
</script>
Child:
Code:
<script type="text/javascript">
(function() {
var logging = true;
try{
function addEventListener(e,func){
if (window.addEventListener){
window.addEventListener(e,func, false);
} else if (window.attachEvent){
window.attachEvent('on'+e,func);
}
}
function log(msg){
if (logging && window.console){
console.info('[Test] '+msg);
}
}
function warn(msg){
if (window.console){
console.warn('[Test] '+msg);
}
}
function init(test){
function changeContent(){
$('p').eq(0).remove();
}
function callMethod(methodName,val1,val2){
if ('parentIFrame' in window)
window.parentIFrame[methodName](val1,val2);
else
warn('window.parentIFrame methods not enabled.')
}
console.info(test);
switch (test){
case 'changeContent':
setInterval(function(){changeContent();},2);
break;
case 'close':
callMethod('close');
break;
case 'pageChange':
location.href = '../../example/frame.hover.html';
break;
case 'nested':
location.href = 'frame.nested.html';
break;
case 'size':
changeContent();
callMethod('size');
break;
case 'autoResize':
callMethod('setAutoResize',true);
setTimeout(function(){
changeContent();
},500);
break;
case 'size100':
callMethod('size',100);
break;
case 'size200300':
callMethod('size',200,300);
break;
case 'jsTrigger':
changeContent();
callMethod('trigger');
break;
case 'chkHeight':
callMethod('sendMessage',document.body.offsetHeight);
break;
case 'chkBackground':
callMethod('sendMessage',document.body.style.background);
break;
case 'chkSendMsg':
callMethod('sendMessage','message: test string');
break;
case 'chkSendObj':
callMethod('sendMessage',{message: 'test object'});
break;
case 'chkGetId':
if ('parentIFrame' in window)
callMethod('sendMessage',window.parentIFrame.getId());
break;
case 'setHeightCalculationMethod':
if ('parentIFrame' in window){
parentIFrame.setHeightCalculationMethod('max');
callMethod('size');
}
break;
case 'width':
$('p').width(3000);
break;
case 'image':
$('p').html('<img src="djb.jpg">');
break;
}
}
window.iFrameResizer = {
messageCallback: init
}
}
catch(e){
warn(e);
}
})();
</script>
LG Wolf