簡體   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