loadhtml()
Loads HTML content from the specified HTML file. The file may be located inside the template (see Snippets) or hosted on a Content Management System or on another location outside the template.
An optional selector
allows you to retrieve only the content of matching elements.
loadtext()
. See loadtext().loadhtml(location)
Loads all HTML from the specified HTML file.
location
String containing a path that can be absolute
or relative to the section/context.
Use snippets/<snippet-name>
to retrieve the content from an HTML file residing in
the Snippets folder on the Resources panel.
In order to retrieve files from outside the template the file
protocol is supported as well as the http/https
protocols.
The complete syntax of a fully qualified URL with the "file" protocol is: file://<host>/<path>. If the host is "localhost", it can be omitted, resulting in file:///<path>, for example: file:///c:/somefolder/somecontent.html.
When using the http/https protocol, remember that only absolute paths are supported inside remote snippets (see Remote snippets).
The path to a remote HTML snippet can be copied from the snippet's properties: right-click the snippet in the Resources pane and select Properties.
Examples
This script loads a local HTML snippet (from the Resources panel) directly into the matched elements
results.loadhtml("snippets/snippet.html");
The following script loads a local HTML snippet (Resources panel) into a variable. The replaceWith() command is used to replace the element(s) matched by the script's selector with the contents of the snippet.
var mysnippet = loadhtml('snippets/snippet.html');
results.replaceWith(mysnippet);
Same result as the previous script, but a different notation:
results.replaceWith(loadhtml('snippets/snippet.html'));
The following script loads a snippet into a variable and finds/replaces text in the variable before inserting the content into the page. The second find
command also adds formatting to the replacing text.
var mysnippet = loadhtml('file:///C:/Users/PParker/Documents/Example.html');
mysnippet.find('@var1@').text('OL Connect 1');
mysnippet.find('@var2@').html('<i>OL Connect 2</i>').css('text-decoration','underline');
results.replaceWith(mysnippet);
This last script loads a remote snippet into a variable and retrieves an element from the snippet using query().
var mysnippet = loadhtml('http://www.somewebsite.com/text-root-wrapped.html');
var subject = query("#subject", mysnippet).text();
results.append("<p style='font-weight: bold;'>" + subject + "</p>");
loadhtml(location, selector)
Retrieves specific content from the specified HTML file.
location
String containing a path that can be absolute
or relative to the section/context.
Use snippets/<snippet-name>
to retrieve the content from an HTML file residing in
the Snippets folder on the Resources panel.
In order to retrieve files from outside the template the file
protocol is supported as well as the http/https
protocols.
The complete syntax of a fully qualified URL with the "file" protocol is: file://<host>/<path>. If the host is "localhost", it can be omitted, resulting in file:///<path>, for example: file:///c:/somefolder/somecontent.html.
When using the http/https protocol, remember that only absolute paths are supported inside remote snippets (see Remote snippets).
The path to a remote HTML snippet can be copied from the snippet's properties: right-click the snippet in the Resources pane and select Properties.
selector
String. The supplied selector should conform to CSS selector syntax and allows you to retrieve only the content of matching elements.
Examples
This script loads a specific element from a snippet and uses that to replace the results
(the HTML element or set of HTML elements matched by the selector of the script; see results).
var mysnippet = loadhtml('snippets/snippet-selectors.html','#item3');
results.replaceWith(mysnippet);
This script loads the children of the selected element.
var snippet = loadhtml('file:///C:/Users/PParker/Documents/Example.html','foobar').children();
results.replaceWith(snippet);
The next script loads a remote snippet (see Remote snippets), looks for an H1 heading and uses that text.
var post = loadhtml('snippets/post.rhtml');
var h1 = query('h1', post).text();
results.text(h1);
Another example is given in the following how-to: Using a selector to load part of a snippet.