custom_universal_html

Creator: coderz1093

Last updated:

0 purchases

custom_universal_html Image
custom_universal_html Images

Languages

Categories

Add to Cart

Description:

custom universal html

Introduction #
A cross-platform dart:html:

Eases cross-platform development

You can use this package in browsers, mobile, desktop, and server-side VM, and server-side
Javascript (Node.JS, Cloud Functions, etc.).
Just replace dart:html imports with package:universal_html/html.dart. Normal
dart:html will continue to be used when application run in browsers.


Extensive support for processing HTML and XML documents

Parse, manipulate, and print DOM nodes.
Find DOM nodes with querySelectorAll
and other CSS query methods.
Submit forms and more.


EventSource streaming support

Implements dart:html EventSource API.



The project is licensed under the Apache License 2.0. Some of the source code was adopted
from the original dart:html, which is
documented in the relevant files.
Documentation #

API reference
Github project

We appreciate feedback, issue reports, and pull requests.



Similar projects #

universal_io (cross-platform dart:io)
jsdom (DOM implementation in Javascript)

Getting started #
1. Add dependency #
In pubspec.yaml:
dependencies:
universal_html: ^2.0.8
copied to clipboard
2. Use #
import "package:universal_html/html.dart";

void main() {
// Create a DOM tree
final div = DivElement();
div.append(Element.tag("h1")
..classes.add("greeting")
..appendText("Hello world!"));

// Print outer HTML
print(div.outerHtml);
// --> <div><h1>Hello world</h1></div>

// Do a CSS query
print(div.querySelector("div > .greeting").text);
// --> Hello world
}
copied to clipboard
Implemented APIs #
Summary #

Document node classes
DOM parsing

Use element.innerHtml setter, DomParser, or package:universal_html/parsing.dart.
HTML parsing uses package:html, CSS parsing uses
package:csslib, and XML parsing uses our own parser.


DOM printing

Use element.innerHtml or element.outerHtml.


DOM events

For example, element.onClick.listen(...) receives invocation of element.click().


CSS classes (CssStyleDeclaration, etc.)
Most CSS queries

Examples #
Parsing HTML #
Use parseHtmlDocument:
import 'package:custom_universal_html/parsing.dart';

void main() {
final htmlDocument = parseHtmlDocument('<html>...</html>');
}
copied to clipboard
Parsing XML #
Use parseXmlDocument:
import 'package:custom_universal_html/parsing.dart';

void main() {
final xmlDocument = parseXmlDocument('<xml>...</xml>');
}
copied to clipboard
Scraping a website #
Load a Window with WindowController:
import 'package:universal_html/controller.dart';

Future main() async {
// Load a document.
final controller = WindowController();
await controller.openHttp(
uri: Uri.parse("https://news.ycombinator.com/"),
);

// Select the top story using a CSS query
final topStoryTitle = controller.document.querySelectorAll(".athing > .title").first.text;

// Print result
print("Top Hacker News story is: $topStoryTitle");
}
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.