是否有JavaScript語句可以從網頁中檢索內容/文本?通過javascript獲取網頁文本
2
A
回答
1
這是一種奇怪的事情。你是指<p>
和<span>
之類的標籤或<title>
之類的標籤?你確定你需要在JS中做這個,如果你正在刮一整頁?聽起來像一個XSS攻擊:P
副手,我不知道任何內置的,將做到這一點,但你總是可以寫一個函數來訪問DOM與document.getElementsByTagName
和刮這樣的文字。
3
您可以使用Range
s/TextRange
s。這具有僅獲得頁面上的可見文本的優點(例如,與非IE瀏覽器中的元素的textContent
屬性不同,其也將得到<script>
的內容以及可能的其他元素)。以下內容適用於所有主流瀏覽器,儘管我無法保證不同瀏覽器之間換行符的一致性。
UPDATE 2012年11月
我不認爲這是一個好主意,這些天。雖然Selection
現在被指定,its toString()
method is not,並在一段時間(包括當微軟正在實施它的IE 9),它被指定爲像textContent
行爲。對於這種特殊的方式,瀏覽器的一致性得到了更糟而不是更好,因爲2009年
function getBodyText(win) {
var doc = win.document, body = doc.body, selection, range, bodyText;
if (body.createTextRange) {
return body.createTextRange().text;
} else if (win.getSelection) {
selection = win.getSelection();
range = doc.createRange();
range.selectNodeContents(body);
selection.addRange(range);
bodyText = selection.toString();
selection.removeAllRanges();
return bodyText;
}
}
alert(getBodyText(window));
0
如果你只是想在頁面的HTML內容您目前使用的:
var html = document.getElementsByTagName('html')[0].innerHTML;
如果你想另一個頁面的HTML谷歌「阿賈克斯」
1
如果你想刮的頁面來自同一個域,它是相當直接的。您只需使用AJAx將該頁面作爲文本獲取,然後從那裏找到您想要的內容。這裏有一個例子:
<script>
function ajax(url, callbackFunction) {
var request = new XMLHttpRequest();
request.open("GET", url, true);
request.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
request.onreadystatechange = function() {
var done = 4, ok = 200;
if (request.readyState == done && request.status == ok) {
if (request.responseText) {
callbackFunction(request.responseText);
}
}
};
request.send();
}
var buttonClicked = function() {
ajax('/~jedi/index.html', getComplete);
}
var getComplete = function (text) {
alert(text);
}
</script>
<button onclick="buttonClicked()">Debug</button>
如果頁面來自不同的領域,你的運氣了。你需要在服務器上這樣做。您可以使用IFrame從不同的域加載頁面上的數據(您可以通過編程方式創建一個不可見的IFrame),但由於安全策略,瀏覽器不允許您讀取該數據。
相關問題
- 1. 通過Javascript獲取網頁內容通過Javascript
- 2. 通過java獲取網頁
- 3. Javascript從外部網頁獲取文本
- 4. 通過https獲取網頁通過https
- 5. 獲取網頁並使用javascript讀取它通過使用javascript
- 6. 如何通過IIS模塊獲取網頁的響應文本?
- 7. 從網頁獲取文本
- 8. 從網頁獲取文本
- 9. 通過jQuery獲取網頁高度
- 10. 通過URI從網頁獲取圖像
- 11. 如何通過javascript獲取客戶端網頁cookie信息
- 12. 如何通過javascript或jquery從網頁獲取所有Html?
- 13. 在window.open後通過JavaScript獲取上一頁網址
- 14. 使用JavaScript從網頁獲取全文
- 15. 通過javascript獲取primefaces版本
- 16. 通過IP地址獲取本地主機網頁
- 17. 如何通過lua腳本獲取網頁源代碼(html)
- 18. 通過網頁瀏覽器獲取外部模板腳本
- 19. 通過網頁瀏覽器從javascript中讀取文件
- 20. 如何通過Javascript或Jquery將本地文件讀入網頁?
- 21. 在html文檔中通過xpath和javascript獲取TAG文本
- 22. 通過網絡獲取文件權限
- 23. 使用HtmlAgilityPack從網頁獲取文本
- 24. Python:從網頁獲取乘文本值
- 25. Scrapy從網頁獲取文本
- 26. 使用HTTPClient獲取網頁的文本
- 27. 獲取網頁上的文本框
- 28. 在msgbox中獲取網頁文本
- 29. XPATH - 如何從網頁獲取文本?
- 30. 通過@Anywhere JavaScript API獲取推文
可能的重複:http://stackoverflow.com/questions/822452/strip-html-from-text-javascript – 2013-05-10 19:31:10