繁体   English   中英

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

[英]Inject 3rd party HTML (with scripts) in page

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

视觉:

existing-website.com:

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

wrapped-website.com:

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

品牌页眉和页脚是带有内联JS的HTML代码块。 此外,还有另一段带有脚本和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>

因此,品牌站点和非品牌站点之间的唯一区别是,品牌站点使用括号“接通”了线

注意:

  • 我把CSS修复在结束head ,以解决他们的CSS和我之间的冲突
  • 我将所有JS放在最后,这样它就覆盖了JS中其他可能的行为。

在我看来,它可以那样工作,但是我想知道这是否是个好主意,尤其是知道可以更新其代码(HTML / CSS / JS)。

我也在考虑对网站进行格式化。 无需CSS修复,也没有JS问题! 但是,然后我希望iframe达到所需的height (即使高度是动态变化的,其高度也与页面的总height相对应,请参见上面的架构)。 我读到,这确实很难实现。

我在做的事情上有什么可以增强的吗?
还是有可能实现iframing我的网站正确?
或者是其他东西?

使用CSS使iframe保持容器的大小实际上非常容易。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM