假設您已經制作了產品的演示(網頁),您想要製作一個頁面來顯示演示,並且在頁面底部有一個按鈕,您可以通過點擊按鈕來顯示源代碼上面的演示。如何很好地完成這項工作?如何編寫將提供自身代碼的演示頁面?
回答
以下內容至少應在Firefox(通過XMLSerializer),Internet Explorer,Chrome和Safari(通過outerHTML)下工作。在不支持的瀏覽器中,它將回退到innerHTML
,缺點是不包含根元素本身(<html>
)。
function getMyCode()
{
if ("XMLSerializer" in window)
return new XMLSerializer().serializeToString(document.documentElement);
else if ("outerHTML" in document.documentElement)
return document.documentElement.outerHTML;
else
return document.documentElement.innerHTML;
}
話又說回來,如果你想要「真正」的源代碼,而不是DOM的序列化版本,你不會得到周圍重新下載 - 瀏覽器不一定存儲。您可以使用XMLHttpRequest:
function getMyCode()
{
var req = new XMLHttpRequest();
req.open("GET", window.location.href);
req.onreadystatechange = function()
{
if (this.readyState != 4)
return;
alert(this.responseText);
};
req.send(null);
}
我想要的源代碼(你看到使用右鍵點擊視圖頁面源),但IIRC innerHTML是DOM(你看到與Chrome開發人員工具) – wong2
@ wong2:更新了我的答案。 –
使請求相同的頁面,並確保服務器的Content-Type設置爲「text/plain的」來代替「text/html的」響應。如果它是服務器端腳本,那麼您可以使用查詢參數來確定何時將Content-Type設置爲「text/html」或「text/plain」。如果它是一個靜態網頁,您可以使用不同的內容類型製作不同的URI。
- 1. 編寫彙編代碼的紋身
- 2. ActionBarSherlock示例演示代碼不編譯
- 3. 如何保存在Wordpress頁面中編寫的PHP代碼
- 4. 如何在jquery下面編寫代碼?
- 5. 如何編寫代碼下面PDO
- 6. 如何編寫代碼示例,在代碼中缺少代碼?
- 7. 角頁面演示
- 8. 流迭代有人可以提供的這個示例代碼演練
- 9. 如何在zope頁面模板中編寫python代碼
- 10. 如何從下面的代碼編寫TDD代碼?
- 11. 如何編寫代碼的xsd下面Java代碼
- 12. 如何使用PHP提供顏色編碼的Java代碼?
- 13. 如何使用WebDriver在JavaScript提示消息中編寫代碼?
- 14. 下面的代碼提供500錯誤
- 15. SAML身份提供商示例.NET代碼
- 16. 如何編寫代碼以顯示自己
- 17. 如何自定義內容頁面的主頁面代碼
- 18. 提高JavaScript代碼編寫的一些提示
- 19. Bower提供的AngularJS演示工具
- 20. 編寫蛇遊戲演示
- 21. 阻止Apache提供304狀態代碼的頁面
- 22. 如何將頁面編碼爲UTF8
- 23. 如何提供安全的代碼在PHP的桌面
- 24. 如何將brcypt編碼器引用到定製身份驗證提供程序?
- 25. 如何編寫JavaScript代碼
- 26. 如何編寫僞代碼
- 27. 如何編寫html5代碼
- 28. 如何編寫HTML代碼
- 29. 如何編寫此代碼?
- 30. 如何編寫PHP代碼
只需html/css/javascript或服務器端代碼? – Zirak
@Zirak沒有服務器端代碼 – wong2