我正在寫一個書籤,即一個包含JavaScript而不是URL的書籤,我有一些麻煩。事實上,我不記得我如何將頁面內容作爲字符串獲取,因此我可以應用正則表達式來查找我想要的內容。你能幫我解決這個問題嗎?如何在javascript中獲取頁面的完整內容作爲字符串?
在任何人建議之前,我不能使用getElementBy(Id/Name/Tag),因爲我正在尋找的數據是HTML註釋和內部標記,所以我不認爲這會起作用。
謝謝。
我正在寫一個書籤,即一個包含JavaScript而不是URL的書籤,我有一些麻煩。事實上,我不記得我如何將頁面內容作爲字符串獲取,因此我可以應用正則表達式來查找我想要的內容。你能幫我解決這個問題嗎?如何在javascript中獲取頁面的完整內容作爲字符串?
在任何人建議之前,我不能使用getElementBy(Id/Name/Tag),因爲我正在尋找的數據是HTML註釋和內部標記,所以我不認爲這會起作用。
謝謝。
您可以通過訪問:
document.body.innerHTML
這樣我就可以申請一個正則表達式來找到我想要的東西
做。不。使用。正則表達式。至。解析。 HTML。
特別是當瀏覽器已經爲你解析它!來吧!
我在尋找的數據是HTML註釋的
你可以非常清楚抓取評論含量超出了DOM的。例如。
<div id="mything"><!-- la la la I'm a big comment --></div>
alert(document.getElementById('mything').firstChild.data);
如果你需要搜索comment元素的DOM:
// Get comment descendents
//
function dom_getComments(parent, recurse) {
var results= [];
for (var childi= 0; childi<parent.childNodes.length; childi++) {
var child= parent.childNodes[childi];
if (child.nodeType==8) // Node.COMMENT_NODE
results.push(child);
else if (recurse && child.nodeType==1) // Node.ELEMENT_NODE
results= results.concat(dom_getComments(child));
}
return results;
}
感謝您的信息,但我正在編寫的代碼是書籤,書籤中的一行代碼。 IE中的bookmarklets僅限於470個字符,因此我的目標是最大限度地簡化和簡化。 – Antoine 2009-02-10 16:49:37
該死的innerHTML,我怎麼會忘記呢?謝謝。 – Antoine 2009-02-05 17:40:56