सबसे आम तरीका: iframe एम्बेड करना
HTML पेज को SAPUI5 एप्लिकेशन में लोड करने का सबसे आम तरीका इसे iframe के रूप में एम्बेड करना है।
उदाहरण
new sap.ui.core.HTML({
preferDOM: true,
content: "<iframe src='https://www.yourdomain.com'></iframe>"
});
वैकल्पिक तरीके
- AJAX कॉल का उपयोग करके - HTML कंटेंट को फेच करके
sap.ui.core.HTMLमें प्रदर्शित करें - sap.ui.core.HTML कंट्रोल का सीधा उपयोग - लेकिन यह आपके HTML पेज की संरचना पर निर्भर करता है
विस्तृत कार्यान्वयन
तरीका 1: iframe (सरल और विश्वसनीय)
<mvc:View xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m" xmlns:core="sap.ui.core">
<Page title="एक्सटर्नल पेज">
<content>
<core:HTML
id="externalPage"
content="<iframe src='https://example.com' style='width:100%;height:100%;border:none;'></iframe>"
sanitizeContent="false"
preferDOM="true"/>
</content>
</Page>
</mvc:View>
तरीका 2: AJAX के साथ डायनामिक लोडिंग
// कंट्रोलर में
onInit: function() {
this._loadExternalHTML();
},
_loadExternalHTML: function() {
var oHTMLControl = this.byId("htmlContainer");
$.ajax({
url: "https://example.com/page.html",
type: "GET",
dataType: "html",
success: function(htmlContent) {
// केवल body कंटेंट निकालें
var bodyContent = htmlContent.match(/<body[^>]*>([\s\S]*?)<\/body>/i);
var content = bodyContent ? bodyContent[1] : htmlContent;
oHTMLControl.setContent(content);
},
error: function() {
oHTMLControl.setContent("<div class='error'>पेज लोड करने में विफल</div>");
}
});
}
तरीका 3: UI5 Component के रूप में एम्बेड करना
अगर एक्सटर्नल पेज भी SAPUI5 एप्लिकेशन है, तो इसे Component Container के साथ एम्बेड करना बेहतर है:
new sap.ui.core.ComponentContainer({
name: "external.app",
url: "https://example.com/",
height: "100%",
manifest: true
});
विचार करने योग्य बातें
| तरीका | फायदे | नुकसान |
|---|---|---|
| iframe | सरल, अलग सैंडबॉक्स, क्रॉस-ओरिजिन सपोर्ट | स्टाइलिंग सीमित, कम्युनिकेशन जटिल |
| AJAX + HTML कंट्रोल | पूरा नियंत्रण, स्टाइलिंग संभव | CORS मुद्दे, स्क्रिप्ट निष्पादन जोखिम |
| Component Container | पूर्ण SAPUI5 इंटीग्रेशन, रूटिंग सपोर्ट | केवल SAPUI5 ऐप्स के लिए |
सुरक्षा नोट
sanitizeContentको सावधानी से सेट करें- CSP (Content Security Policy) हेडर्स कॉन्फ़िगर करें
- XSS हमलों से बचने के लिए भरोसेमंद स्रोतों से ही कंटेंट लोड करें