Hallo David,
danke für den Tipp. Ich habe mal Google gequält und bin auf eine Lösung gekommen, bei der zwei DIV-Tags definiert werden, die sich überlagern. Klappt ganz gut, wobei ich mir nicht sicher bin, ob das mit dem IFrame so super hinhaut. Im Portal kann die Seite so zumindest nicht geladen werden.
Ich bin nicht so fit in HTML, etc. Fällt da jemandem noch was Schlaues zu ein ? Gibt es evtl. auch eine andere Möglichkeit, die XSP im DIV-Tag einzubinden oder eine völlig andere Alternative ?
<html>
<head>
<title>Titel</title>
<script type="text/javascript">
function overlay() {
elem = document.getElementById("overlay");
elem.style.visibility="hidden";
elem = document.getElementById("bodydiv");
elem.style.visibility="visible";
}
</script>
</head>
<body onLoad="overlay()">
<div id="overlay" align="center" style="width:100%; height:100%; position: absolute; background-color:#ffffff;">
<table><tr><td valign="center" height="100%" width="100%">
<div align="center">
<img src="loader.gif">
</div>
</td></tr></table>
</div>
<div id="bodydiv" style="visibility:hidden;">
<iframe src="xMain.xsp" width="100%" height="100%" name="xMainPage">
</div>
</body>
</html>
Naja du kannst im IFrame die Scrollbars unterdrucken:
<iframe src="bild.jpg" name="Bildframe" width="300" height="200" align="left"
scrolling="no" marginheight="0" marginwidth="0" frameborder="0">
<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:
<img src="bild.jpg" width="464" height="580" border="0" alt="Bild">
</p>
</iframe>
oder aber Du setzt per JavaScript den Inhalt Deines Divs im Portal.
ala
/* *********************************************************************
* viewPostLoadRT
* PostLoad RichText via Dojo - Ajax
*/
function viewPostLoadRT(unid){
var rturl = getDBURL() + "/(rtBody)/" + unid + "?OpenDocument";
var id = "itRow" + unid;
dojo.xhrGet ({
// Location of the HTML content we want to grab
url: rturl,
// Called when the page loaded successfully
load: function (data) {
//alert(rturl);
//alert(data);
//alert(id);
//alert(dojo.byId(id).innerHTML);
var newDiv = document.createElement("div");
newDiv.innerHTML = data;
var obj = dojo.byId(id);
obj.removeChild(obj.firstChild);
obj.appendChild(newDiv);
},
// Called if there was an error (such as a 404 response)
error: function (data) {
console.error('Error: ', data);
}
});
return false;
}
Allerdings mußt du schauen, dass die XPage dir keine komplette HTML Seite liefert sondern nur ein HTML-Fragment, dass Du einbinden willst.
Ich mache das so um RichText in WebViews anzuzeigen.
Grüße David