如何为其他人在其网站上制作嵌入代码?

时间:2015-10-15 18:46:19

标签: javascript jquery html iframe embed

上周我制作了一个工具,我收到了一堆嵌入代码的请求。人们希望简单地将代码放到他们的页面上,这样我的工具就会显示在他们的网站/博客上。

我知道一些选项,但我不确定什么是最快最容易的方式,iframe?嵌入? div和脚本加载页面?

我对响应性如此关注的原因是因为我的工具有两个并排的div,每个都取半宽,然后当它足够小时,它会下降到一个在另一个上面,每个都取全宽。

最好的方法是什么? iFrame可以响应吗? 是否完全支持嵌入? div和脚本太难问了吗?

1 个答案:

答案 0 :(得分:1)

如果内容具有类似宽高比的内容,我会选择iFrame。该响应示例具有16:9的宽高比。调整padding-bottom以更改高度:

<div style='position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;'>
    <iframe style="border:none; position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src='https://charts.datawrapper.de/bTcko/' style='border:0'></iframe>
</div>

如果没有宽高比,您可以使用控制容器响应的脚本,也可以是iFrame:

<iframe id="datawrapper-chart-bTcko" src="https://charts.datawrapper.de/bTcko/" frameborder="0" allowtransparency="true" allowfullscreen="allowfullscreen" webkitallowfullscreen="webkitallowfullscreen" mozallowfullscreen="mozallowfullscreen" oallowfullscreen="oallowfullscreen" msallowfullscreen="msallowfullscreen" width="100%" height="100"></iframe>

<script type="text/javascript">
    var aspectRatio = [4, 3],
        chart = document.getElementById('datawrapper-chart-bTcko');

    chart.style.height = chart.offsetWidth / aspectRatio[0] * aspectRatio[1] + 'px';
</script>

如果设置了正确的CORS标头(安全原因),您也可以使用该脚本通过AJAX加载内容。

就个人而言,如果可能的话,我总是会选择第一个解决方案。很多人不喜欢嵌入<script>的内容。