2012-06-06 8 views
13

मैं एचटीएमएल का स्निपेट कैसे गतिशील रूप से लोड कर सकता हूं और इसे अपने वेब पेज में डाल सकता हूं? मैं डार्ट का उपयोग कर रहा हूँ।मैं डायनामिक रूप से HTML लोड कैसे करूं और डार्ट के साथ अपने वेब पेज में कैसे डालूं?

+0

महान सवाल! –

उत्तर

13

खुशी आपने पूछा! इस कार्य के लिए डार्ट का उपयोग जावास्क्रिप्ट से बहुत अलग नहीं है, सिवाय इसके कि आपको टाइपिंग, कोड पूर्णता और एक हल्का संपादन अनुभव मिलता है।

पहले, snippet.html बनाएँ:

<p>This is the snippet</p> 

इसके बाद, आवेदन पैदा करते हैं। स्निपेट का अनुरोध करने के लिए XMLHttpRequest के उपयोग पर ध्यान दें। साथ ही, स्ट्रिंग से HTML का ब्लॉक बनाने के लिए new Element.html(string) का उपयोग करें। ,

<h1>Hello world.</h1> 

Check my bird... <em>it flies</em> ! 
<img src="https://www.dartlang.org/logos/dart-bird.svg"> 

पूर्ण उदाहरण के लिए कि:

<!DOCTYPE html> 

<html> 
    <head> 
    <title>dynamicdiv</title> 
    </head> 
    <body> 
    <h1>dynamicdiv</h1> 
    <div id="insert-here"></div> 
    <script type="application/dart" src="dynamicdiv.dart"></script> 
    <script src="packages/browser/dart.js"></script> 
    </body> 
</html> 
+0

... और एक चिकना समाधान प्रतीत होता है। –

+0

XMLHttpRequest अब HttpRequest –

+2

हैह? आपने सवाल पूछा और फिर अपने आप से कहा, 'आपने पूछा है!' हालांकि अजीब बात यह है कि आपने जो जवाब दिया वह उपयोगी था। – Nope

3

main.dart:

import 'dart:html'; 

DivElement div = querySelector('div'); 

main() async { 
    String template = await HttpRequest.getString("template.html"); 
    div.setInnerHtml(template, treeSanitizer: NodeTreeSanitizer.trusted); 
} 

template.html

import 'dart:html'; 

void main() { 
    var div = querySelector('#insert-here'); 
    HttpRequest.getString("snippet.html").then((resp) { 
    div.append(new Element.html(resp)); 
    }); 
} 

अंत में, यहाँ मेजबान HTML पृष्ठ है बॉक्स से बाहर चलाता है, देखें:

https://gist.github.com/kasperpeulen/536b021ac1cf397d4e6d

ध्यान दें कि आप 1.12 जरूरत NodeTreeSanitizer.trusted प्राप्त करने के लिए काम कर रहे।

संबंधित मुद्दे

 संबंधित मुद्दे