在页面中注入第三方HTML(带脚本)

时间:2015-01-09 19:49:44

标签: javascript html iframe

我正在使用合作伙伴的页眉/页脚HTML代码对我的网站进行品牌重塑(以使网站的行为像重新命名一样)。

目视:

existing-website.com:

+---------------------+
|                     |
|       My site       |
|                     |
+---------------------+

wrapped-website.com:

+---------------------+
|     Brand Header    |
+---------------------+
|                     |
|       My site       |     variable page height
|                     |
+---------------------+
|     Brand Footer    |
+---------------------+

品牌页眉和页脚是HTML代码块,带有内联JS。还有另一个带有脚本和CSS的HTML块。它使用的是jQuery版本,它们的一部分脚本实际上就是崩溃了。

我做了什么:通过普通页面服务器端注入他们的HTML +将我的所有脚本放在<body>

的末尾

结构如下:

<head>
  [.. their head (CSS/JS) stuff as HTML ..]
  .. my CSS stuff ..
  [.. fixes for their CSS stuff ..]
</head>
<body>
  [.. their HTML header ..]
  .. my normal body ..
  [.. their HTML footer ..]
  .. my JS ..
</body>

因此,品牌网站和非品牌网站之间的唯一区别是品牌网站“打开”带括号的行

NB:

  • 我在head的末尾添加了CSS修复程序来修复CSS和我的
  • 之间的冲突
  • 我把所有的JS放在最后,以便它从JS的东西中覆盖其他可能的行为。

在我看来它可以这样工作,但我想知道它是否是一个好的/强大的想法,特别是知道他们的代码(HTML / CSS / JS)可以更新。

我也在考虑iframing我的网站。不需要CSS修复,也没有JS问题!但是我希望iframe尽可能高(height对应于页面的总高度,即使高度动态变化,请参阅上面的模式)。我读到它真的很难实现。

我能做些什么可以提升我的作用吗? 或者是否可以正确地实现我的网站? 或其他什么?

1 个答案:

答案 0 :(得分:1)

使用css保持iframe的大小非常容易。

iframe{
 position:absolute;
 top:0;
 left:0;
 bottom:0;
 right:0;
}

在评论中你提到这是一个Django网站。我对该环境或Python不熟悉,但在查看他们的网站后,它确实允许服务器端处理。您可以编写一个python脚本来检索和解析旧页面以提取页眉/页脚html,然后将该内容注入到新的html文件中。您是否看到其他网站的内容发生了很大变化,您需要同步到哪个?