在页面上嵌入HTML内容的脚本

时间:2015-01-21 19:16:07

标签: javascript html

场景:我的公司希望在我们的客户门户网站上拥有“内容构建器”。使用此内容构建器,用户可以检查他们请求的内容(例如:关于公司,关于我们的产品等)。

选择选项后,我想向用户提供他们可以在其网站上放置的脚本。运行时,脚本中的参数将伸出,调用我们的CMS以获取相应的副本,并返回应在其浏览器中显示的标记。

我的问题是.. 我是如何这样做的?我知道如何从CMS获取HTML,但是如何将数据写回DOM?我应该只嵌入一个IFRAME吗?我可以在主机网站上写出div标签吗?任何建议都表示赞赏,提前谢谢。

2 个答案:

答案 0 :(得分:1)

虽然稍微了解具体内容会有所帮助,但基本的想法是使用DOM元素的innerhtml属性来放置内容。例如,如果你有一个id为“contentbox”的div,你可以写:

var x = htmlstringfromcms();
document.getElementById("contentbox").innerhtml=x;

如果你想追加,而不是覆盖元素的内容,试试

var x = htmlstringformcms();
document.getElementById("contentbox").innerhtml+=x;

答案 1 :(得分:1)

您可以创建标记以插入页面。

您可以将id属性添加到嵌入到外部网站的脚本标记中,并让脚本标记准确放置在您希望内容显示的位置。

<script id="myscripttag" src="..."></script>

然后使用下面的代码在脚本标记之前插入标记。

var insertMarkup = function(){  

var scripttag = document.getElementById('myscripttag'),

    YOURCONTENT = '<h1>hello</h1>',

    //parentNode of script tag
    p = scripttag.parentNode,

    //new element to hold your content
    n = document.createElement("div");

    n.id = 'mynewdiv';

    n.innerHTML = YOURCONTENT;

    p.insertBefore(n,scripttag);

};