[英]Optimum way to insert external html content HTML5 compliant? php vs HTML5 vs javascript methods
我知道這對您來說似乎很簡單,但是我一直在搜索一個多小時,但無濟於事。
目標:對我所有的網頁都使用一個頁腳文件和菜單文件。 考慮到阻塞,速度等。菜單的內容為純html / css,頁腳的內容為純html / css。 最佳解決方案會根據注入的內容而改變嗎? 例如,如果涉及視頻,jscript等。
兩部分問題:1)哪種方法是最佳的? 某些php包括使用標記,使用jscript等。2)保持HTML 5標准的精度如何? 即,要使php方法起作用,我的調用網頁是否需要為.php,然后使HTML5標准成為爭議點嗎? 例如,如果我想將footer.php注入index.html,我的索引文件也必須是.php嗎? 同樣,對於標簽,外部文件可以是.html文件(我不喜歡通過.css調用重新加載所有標頭信息的想法)還是應該是.php?
在index.html文件中,我嘗試了以下操作:
<object id="footerArea" width="100%" height="20%"
type="text/html" data="footer.html">
</object>
和
<?php include 'footer.php' ?>
這些似乎都不適合我。
如果您想知道...這是我的頁腳代碼,我正嘗試注入示例數據以使其更短,更易於閱讀:
<div class="footer box">
<p class="f-right t-right">
<a href="#">www.mysite.com</a><br />
Address: Medford, OR<br />
Phone: (541) 555-5555
</p>
<p class="f-left">
Copyright © 2011 <a href="#">My Name</a><br />
</p>
<p class="f-left" style="margin-left:20px;">
<a href="http://sampleurl.com" target="_blank">
<img style="border:0;width:88px;height:31px"
src="http://sampleurl.com"
alt="Valid CSS3!" />
</a>
</p>
<p class="f-left" style="margin-left:20px;">
<a href="http://sampleurl" target="_blank">
<img src="http://sample.png" width="228" height="50" alt="sample alt" title="sample title">
</a>
</p>
</div>
請原諒我的格式。 我對在論壇中發布代碼還是陌生的。 我已經盡力了 :)
您在url中看到的文件名擴展名與下載該文件時瀏覽器將如何對待它完全無關 。 全部歸結為文件隨附的Content-type
標頭。 網站管理員可以簡單地將其服務器配置為將所有.exe
文件視為純HTML頁面。 他們還可以告訴Web服務器通過PHP解析器運行.html
頁面。 實際上,使用“現代” SEO優化的URL,您幾乎看不到文件擴展名。 都是example.com/some/wonky/path
東西,而不是example.com/page.php?id=wonky
類的東西。
PHP已構建並輸出頁面的事實也與HTML兼容性無關。 這取決於瀏覽器接收的頁面是否符合標准。 所有標簽是否都正確關閉? 正確定義的屬性? 標簽是否正確嵌套? 等等等等等等。
如果您正確構建了代碼,則輸出的html將被正確地結構化並成為有效的html。 如果它不是有效的html,那不是PHP的錯-這是您將無法產生正確輸出的代碼放在一起的錯。
URL MIGHT中唯一與文件擴展名相關的時間是Web服務器是否輸出通用的內容類型,例如“ application / octet-stream”。 瀏覽器可以使用可檢測的文件擴展名來猜測內容的類型,並嘗試將其視為此類。 但這不能保證也不可靠。
如果所調用的代碼像固定的頁腳一樣,則可能需要創建所需的簡單頁腳,然后包括:
<?php
readfile("yourfile.htm");
?>
像下面這樣的事情應該做你想要的:
的index.php
<html>
<head>
<link rel="stylesheet" type="text/css" href="main.css" />
<!-- other css, scripts etc -->
</head>
<body>
<!-- your main content here -->
<?php include 'footer.html' ?>
</body>
</html>
footer.html
<div class="footer box">
<!-- your footer content here -->
</div>
在瀏覽器中加載index.php和“查看源代碼”時,應該看到上面顯示的內容,但是<?php include "footer.html" ?>
應該替換為文件“ footer.html”中的內容”。
你不應該看到的PHP代碼本身,當你通過網絡瀏覽器查看源代碼。 如果您確實在“查看源代碼”中看到php代碼,則表明您的服務器未配置為正確運行php。
對於從瀏覽器加載內容並且不使用php的另一種方法,我將向您指出相關的問答 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.