Skip to content
This repository was archived by the owner on May 8, 2019. It is now read-only.
This repository was archived by the owner on May 8, 2019. It is now read-only.

Update append to support adding scripts #3

@Daniel15

Description

@Daniel15

Rough code, needs testing:

    /**
     * Append some HTML to the element
     */
    append: function(html)
    {
        var newContent = document.createElement('div');
        newContent.innerHTML = html;
        while (newContent.firstChild)
        {
            var newEl = newContent.firstChild;

            // Check if this element is a script
            if (newContent.firstChild.tagName && newContent.firstChild.tagName.toUpperCase() == 'SCRIPT')
            {
                // Check if it's an external script
                if (newEl.src)
                {

                    // Moving existing elements doesn't seem to work properly. We need to create a
                    // brand new script tag and insert that.
                    var newScript = document.createElement('script');
                    newScript.src = newEl.src;
                    this.element.appendChild(newScript);

                }
                else
                {
                    // Inline script, so just execute it
                    eval('with (window) { ' + newEl.innerHTML + "}");
                }

                newContent.removeChild(newEl);
            }
            else
            {
                this.element.appendChild(newEl);
            }
        }
        return this;
    },

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions