簡體   English   中英

如何在客戶端或javascript中獲取頁面HTML

[英]how to get page HTML at client side or javascript

如何在客戶端或通過Asp.net應用程序中的javascript獲取頁面HTML。 表示如果我想通過javascript或任何其他方式在客戶端獲取http://www.yahoo.com的html

如果您要獲取頁面html作為javascript中的字符串,則可以使用:

var s = document.body.innerHTML;

盡管您需要注意的是,這並不能完全像發送給瀏覽器的html一樣,但是它可以為您提供由DOM構造的html-本質上意味着所有錯誤都將得到修復,並且包括任何動態創建的元素。

出於安全原因(相同來源策略),您無法使用與JavaScript不同的主機名獲取頁面的HTML源。

因此,除非您是Yahoo,否則必須在服務器端運行一個代理,該代理將獲取http://www.yahoo.com/ ,然后通過<script>塊中的字符串將其內容返回給客戶端。 ,或響應XMLHttpRequest(也是最好的JSON編碼)。 這稱為跨域代理。

連結:

http://www.boutell.com/newfaq/creating/include.html

有兩種創建客戶端的方法,包括:

JavaScriptiframe 在解決該問題之前,讓我們先看看兩者的優缺點。 JavaScript方法是兩者中更為無縫的一種。 JavaScript代碼可以從任何URL提取頁面的一部分,然后隨時將其插入另一個頁面。 最終結果看起來和服務器端包含的效果一樣好,但前提是必須打開JavaScript。 搜索引擎根本看不到包含的文本,這是一個嚴重的問題。

iframe方法更簡單。 iframe元素可用於強制將第二頁“嵌入”到第一頁中,這與將Flash電影,視頻和MP3播放器嵌入object元素的方式幾乎相同。 而且,不必打開JavaScript。 但是這里也有缺點。 無論內容多大,iframe元素的寬度和高度都是固定的。 那可能意味着頁面內有滾動條。 而且,在撰寫本文時,Google似乎沒有索引iframe引用的單獨頁面,以便搜索者可以找到您的頁面。

您使用Ajax

我建議為此使用jQuery Ajax javascript庫。

您的意思是類似於file_get_contents($url)的PHP函數嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM